Module: Multiflow::Persistence::ActiveRecord

Extended by:
ActiveSupport::Concern
Defined in:
lib/multiflow/persistence/active_record.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#ensure_initial_stateObject



25
26
27
28
29
30
31
32
# File 'lib/multiflow/persistence/active_record.rb', line 25

def ensure_initial_state
  machines.each do |machine|
    if send(machine.state_column.to_s).blank?
      current_state = send("current_#{machine.state_column}")
      send("#{machine.state_column.to_s}=", current_state.name.to_s)
    end
  end
end

#load_from_persistence(machine) ⇒ Object



16
17
18
# File 'lib/multiflow/persistence/active_record.rb', line 16

def load_from_persistence(machine)
  send machine.state_column.to_sym
end

#save_to_persistence(machine, new_state, options = {}) ⇒ Object



20
21
22
23
# File 'lib/multiflow/persistence/active_record.rb', line 20

def save_to_persistence(machine, new_state, options = {})
  send("#{machine.state_column}=".to_sym, new_state)
  save! if options[:save]
end