ruby - using include method in a case statement

Jasdeep Singh picture Jasdeep Singh · May 22, 2011 · Viewed 13.8k times · Source

I'm using something like this:

case referer
      when (referer.include? "some_string")
        redirect_link = edit_product_path
      when (referer.include? "some_other_string")
        redirect_link = other_product_path
end

Unfortunately, this returns nil even if the string some_string is present in the variable referer.

Here's what i tried in Ruby Console:

ruby-1.8.7-p334 :006 > jasdeep = "RAILS"
ruby-1.8.7-p334 :026 > case jasdeep
ruby-1.8.7-p334 :027?>   when (jasdeep.include? "AI")
ruby-1.8.7-p334 :028?>   puts "Hello"
ruby-1.8.7-p334 :029?> end
=> nil

Any inputs will be appreciated.

Answer

Ajay Kumar Guthikonda picture Ajay Kumar Guthikonda · May 22, 2011

Try this

jasdeep = "RAILS"
case jasdeep
when /IL/
  puts "Hello"
end