Yes, why not?
42.times { puts "foo" }
1.upto(9) { |n| puts n }
puts 1.year + 7.months - 1.day 42.times { puts "foo" }
1.upto(9) { |n| puts n }
puts 1.year + 7.months - 1.dayIt takes a little getting used to, but once you are, then the tooling is there to help you make sense of these things:
1.method(:year).source_location
The bigger issues with Rails I see are the monoculture issue raised in the article, plus the intractable issues with ruby around performance, memory bloat, concurrency, and last but not least, the multi-paradigm nature giving you functional features, but without any of the usual immutability guarantees (unless you follow a constrained and unconventional coding style which no one does in the ruby community).