Module: WorkflowSequel
- Defined in:
- app/sequel_workflow_presistence.rb
Instance Method Summary collapse
- #before_validation ⇒ Object
- #dataset_update(attrs) ⇒ Object
- #load_workflow_state ⇒ Object
- #persist_workflow_state(new_value) ⇒ Object
Instance Method Details
#before_validation ⇒ Object
16 17 18 19 |
# File 'app/sequel_workflow_presistence.rb', line 16 def before_validation send( "#{self.class.workflow_column}=", current_state.to_s ) unless send( self.class.workflow_column ) super end |
#dataset_update(attrs) ⇒ Object
11 12 13 14 |
# File 'app/sequel_workflow_presistence.rb', line 11 def dataset_update( attrs ) @@whitelist ||= (self.columns - [:id]).freeze self.class.instance_dataset.where( id: id ).update( attrs.delete_if{|k,v| [:id, 'id'].include?(k) } ) end |
#load_workflow_state ⇒ Object
2 3 4 |
# File 'app/sequel_workflow_presistence.rb', line 2 def load_workflow_state send( self.class.workflow_column ) end |
#persist_workflow_state(new_value) ⇒ Object
6 7 8 9 |
# File 'app/sequel_workflow_presistence.rb', line 6 def persist_workflow_state(new_value) send( "#{self.class.workflow_column}=", new_value ) save( changed: true, validate: false) end |