Module: Haku::Core::Callable

Defined in:
lib/haku/core.rb

Instance Method Summary collapse

Instance Method Details

#callObject



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/haku/core.rb', line 55

def call
  response = catch(:finish) do
    (self.class.send(:haku_before_call_callbacks) || []).each { |cb| send(cb) }
    super
  end

  status = response.is_a?(Finish) ? response.status : :success
  payload = response.is_a?(Finish) ? response.payload : response

  Result.new(status, payload).tap do
    haku_run_callbacks(status)
  end
end