Sha256: 679c10e6d47dee33cd8f66031a458ca02b4329ed28403eb425df5ff7f51b578a
Contents?: true
Size: 723 Bytes
Versions: 2
Compression:
Stored size: 723 Bytes
Contents
module Stateflow module Persistence module MongoMapper def self.install(base) base.before_validation_on_create :ensure_initial_state base.send :include, InstanceMethods end module InstanceMethods def load_from_persistence self.send machine.state_column.to_sym end def save_to_persistence(new_state, options) self.send("#{machine.state_column}=".to_sym, new_state) self.save if options[:save] end def ensure_initial_state send("#{self.machine.state_column.to_s}=", self.current_state.name.to_s) if self.send(self.machine.state_column.to_s).blank? end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stateflow-0.4.0 | lib/stateflow/persistence/mongo_mapper.rb |
stateflow-0.3.0 | lib/stateflow/persistence/mongo_mapper.rb |