Module: WorkflowSequel

Defined in:
app/sequel_workflow_presistence.rb

Instance Method Summary collapse

Instance Method Details

#before_validationObject



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_stateObject



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