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