So I updated ruby-mode via CVS (mine was a year old already!)
and it resolved a number of fontification problems, however
version 1.44 can't handle fontifying the following:

  runJob = %Q{rsh #{machine} "PATH=\\"$PATH\\";} +
   %Q{cd #{Dir.getwd.sub(/.*\/home/,"/home")}; #{commandString}"}

In addition, the auto indentation behavior seems slightly broken,
it tries to indent according to statement modifiers, e.g.,

timeSteps.times do |iteration|
 l2norm = aCase.step 'rk1', limiter
 iterPrint iteration,l2norm if (iteration+1).modulo(historySkip)==0 || converged
 aCase.plotState(options['plotFile']) if (iteration+1).modulo(plotSkip)==0 || converged
 break if converged
end

becomes,

timeSteps.times do |iteration|
 l2norm = aCase.step 'rk1', limiter
 iterPrint iteration,l2norm if (iteration+1).modulo(historySkip)==0 || converged
			     aCase.plotState(options['plotFile']) if (iteration+1).modulo(plotSkip)==0 || converged
			     break if converged
				   end

and note that it also misses the fontification of the "if" after the "break".

Regards,
--
Bil Kleb
NASA Langley Research Center
Hampton, Virginia, USA