Module: Workflow::MongoidPersistence

Defined in:
lib/workflow/mongoid_persistence.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.happy_to_be_included_in?(klass) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/workflow/mongoid_persistence.rb', line 4

def self.happy_to_be_included_in?(klass)
  Object.const_defined?(:Mongoid) and klass.include? Mongoid::Document
end

.included(klass) ⇒ Object



8
9
10
# File 'lib/workflow/mongoid_persistence.rb', line 8

def self.included(klass)
  klass.after_initialize :write_initial_state
end

Instance Method Details

#load_workflow_stateObject



12
13
14
# File 'lib/workflow/mongoid_persistence.rb', line 12

def load_workflow_state
  read_attribute(self.class.workflow_column)
end

#persist_workflow_state(new_value) ⇒ Object

implementation of abstract method: saves new workflow state to DB



17
18
19
20
# File 'lib/workflow/mongoid_persistence.rb', line 17

def persist_workflow_state(new_value)
  self.write_attribute(self.class.workflow_column, new_value.to_s)
  self.save!
end