In console:
@user.user_type = \"hello\"
@user.user_type == \"hello\"
true
@user.user_type == (\"hello\" || \"goodbye\")
false
How do I
["hello", "goodbye"].include? @user.user_type
Enumerable#include?
is the idiomatic and simple way to go, but as a side note let me show you a very trivial extension that (I imagine) will please Python fans:
class Object
def in?(enumerable)
enumerable.include?(self)
end
end
2.in? [1, 2, 3] # true
"bye".in? ["hello", "world"] # false
Sometimes (most of the time, actually) it's semantically more fitting to ask if an object is inside a collection than the other way around. Now your code would look:
@user.user_type.in? ["hello", "goodbye"]
BTW, I think what you were trying to write was:
@user.user_type == "hello" || @user.user_type == "goodbye"
But we programmers are lazy by nature so better use Enumerable#include?
and friends.