Я думаю, что лучший способ - это создать несколько методов предикатов.
Это также сохранит вашу «Единую точку контроля».
class Object
def is_string?
false
end
end
class String
def is_string?
true
end
end
print "test".is_string? #=> true
print 1.is_string? #=> false
Чем больше утка набирает текст;)