Есть ли способ связать методы условно в Ruby?
Что я хочу делать функционально,
if a && b && c
my_object.some_method_because_of_a.some_method_because_of_b.some_method_because_of_c
elsif a && b && !c
my_object.some_method_because_of_a.some_method_because_of_b
elsif a && !b && c
my_object.some_method_because_of_a.some_method_because_of_c
etc...
Поэтому, в зависимости от ряда условий, я хочу выяснить, какие методы вызывать в цепочке методов.
До сих пор моя лучшая попытка сделать это "хорошим способом" - условно построить строку методов и использовать eval
, но, безусловно, есть лучший, более рубиновый способ?