class ActiveRecordImporter::TransitionProcessor
Attributes
column[R]
new_state[R]
object[R]
Public Class Methods
new(object, new_state, column = :state)
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 6 def initialize(object, new_state, column = :state) @object = object @new_state = new_state @column = column end
Public Instance Methods
transit()
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 12 def transit fire_event!(transit_event) true end
Private Instance Methods
fire_event!(event)
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 19 def fire_event!(event) fail Errors::InvalidTransition if event.blank? object.send(event) end
state_transitions()
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 31 def state_transitions object.send("#{column}_transitions") end
state_was()
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 35 def state_was object.send("#{column}_was") end
transit_event()
click to toggle source
# File lib/active_record_importer/transition_processor.rb, line 24 def transit_event state_transitions.each do |trans| return trans.event if trans.from == state_was && trans.to == new_state end nil end