К примеру как сделать нечто подобное:
module RootRouter
def route
obj = SlaveClass.new()
#....
return obj.one if something
return obj.two if something_else
return obj.thr if something_else_another
#....
end
end
class SlaveClass
def initialize
@obj = ActionClass.new()
end
def one method
#do something
#...
@obj.some_method
#do something
#...
#do something
#...
return 'no response'
end
def two method
end
def thr method
end
end
class ActionClass
def some_method
#do something
#...
return_my 'some variable some_method' if example_false_value
puts 'all ok we continue here'
#do something
#...
return 'any text for return'
end
def second_method
#do something
#...
return_my 'some variable second_method' if example_false_value
puts 'all ok we continue here'
#do something
#...
return 'any text for return'
end
end
Т.е. чтобы
return_my сразу выкидавало именно в
RootRouter на его
return в не зависимости в каком месте кода он находиться?, без
if-ов на каждом уровне вложения