class Caser::Action

Attributes

outcome[R]

Public Class Methods

new(*params) { |_callbacks = callbacks| ... } click to toggle source
# File lib/caser/action.rb, line 8
def initialize(*params)
  @_callbacks = nil
  @outcome = nil
  yield @_callbacks = Callbacks.new if block_given?
  after_initialize(*params)
end

Public Instance Methods

emit(event) click to toggle source
# File lib/caser/action.rb, line 46
def emit(event)
  changed
  notify_observers(event)
end
errors() click to toggle source
# File lib/caser/action.rb, line 42
def errors
  @_errors ||= []
end
fail!() click to toggle source
# File lib/caser/action.rb, line 26
def fail!
  @_callbacks.on_failure(self) if @_callbacks
end
process() click to toggle source
# File lib/caser/action.rb, line 15
def process
  processed!
  do_process
  success? ? succeed! : fail!
  self
end
processed!() click to toggle source
# File lib/caser/action.rb, line 30
def processed!
  @_processed = true
end
processed?() click to toggle source
# File lib/caser/action.rb, line 34
def processed?
  @_processed
end
set_outcome(outcome) click to toggle source
# File lib/caser/action.rb, line 51
def set_outcome(outcome)
  @outcome = outcome
end
succeed!() click to toggle source
# File lib/caser/action.rb, line 22
def succeed!
  @_callbacks.on_success(self) if @_callbacks
end
success?() click to toggle source
# File lib/caser/action.rb, line 38
def success?
  processed? && errors.empty?
end