blob: 0f41a1cdae03daa3f93c17720369bab08a9673f7 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
 | module ControlFlow
  FinishAction = Class.new RuntimeError
  def self.included into
    into.rescue_from FinishAction, with: :catch_finish_action
  end
  # Allow to exit locally inside an action after rendering (especially in error cases)
  def catch_finish_action; end
  def finish_action! msg = 'finish action'
    raise FinishAction, msg
  end
end
 |