class ExMachina::Event::Transition
Attributes
do_after[R]
do_before[R]
do_error[R]
do_failure[R]
do_if[R]
do_success[R]
do_unless[R]
from[R]
to[R]
Public Class Methods
new(**options)
click to toggle source
# File lib/ex_machina/event/transition.rb, line 8 def initialize(**options) @from = Array(options.fetch(:from)).map { |status| normalize(status) } @to = normalize(options.fetch(:to)) # optional args @do_if = options[:if] @do_unless = options[:unless] @do_before = options[:before] @do_after = options[:after] @do_success = options[:success] @do_failure = options[:failure] @do_error = options[:error] end
Public Instance Methods
conditional?()
click to toggle source
# File lib/ex_machina/event/transition.rb, line 30 def conditional? !do_if.nil? || !do_unless.nil? end
from?(status)
click to toggle source
# File lib/ex_machina/event/transition.rb, line 22 def from?(status) from.include?(normalize(status)) end
to?(status)
click to toggle source
# File lib/ex_machina/event/transition.rb, line 26 def to?(status) Array(to).include?(normalize(status)) end
Private Instance Methods
normalize(status)
click to toggle source
# File lib/ex_machina/event/transition.rb, line 36 def normalize(status) status.to_s.to_sym end