Using Ruby 1.9.3, Rails 3.2, I have the following:
\"every good boy does fine\".gsub(\"every\", \"all\").gsub(\"boy\", \"girl\").gsub(\"fine\", \"well\")
# =
If the intent is to avoid method chaining:
[9] pry(main)> "every good boy does fine".gsub("every", "all").gsub("boy", "girl").gsub("fine", "well")
=> "all good girl does well"
[10] pry(main)> "every good boy does fine".gsub(/(every)|(boy)|(fine)/) do |word|
[10] pry(main)* case word
[10] pry(main)* when "every"
[10] pry(main)* "all"
[10] pry(main)* when "boy"
[10] pry(main)* "girl"
[10] pry(main)* when "fine"
[10] pry(main)* "well"
[10] pry(main)* end
[10] pry(main)* end
=> "all good girl does well"
Alternatively:
[11] pry(main)> REPLACEMENT = { "every" => "all", "boy" => "girl", "fine" => "well"}
=> {"every"=>"all", "boy"=>"girl", "fine"=>"well"}
[12] pry(main)> "every good boy does fine".gsub(/(every)|(boy)|(fine)/) { |word| REPLACEMENT[word] }
=> "all good girl does well"