Module: Sequel::Plugins::StateMachineAuditLog::InstanceMethods

Defined in:
lib/sequel/plugins/state_machine_audit_log.rb

Instance Method Summary collapse

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


67
68
69
70
71
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 67

def failed?
  from_state = self.sequel_state_machine_get(:from_state)
  to_state = self.sequel_state_machine_get(:to_state)
  return from_state == to_state
end

#full_messageObject



77
78
79
80
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 77

def full_message
  msg = self.sequel_state_machine_get(:messages)
  return self.class.state_machine_messages_supports_array ? msg.join("\n") : msg
end

#sequel_state_machine_get(unmapped) ⇒ Object



82
83
84
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 82

def sequel_state_machine_get(unmapped)
  return self[self.class.state_machine_column_mappings[unmapped]]
end

#sequel_state_machine_map_columns(**kw) ⇒ Object



90
91
92
93
94
95
96
97
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 90

def sequel_state_machine_map_columns(**kw)
  # We may pass in a machine_name of nil when we are using single-state-machine models.
  # In this case, we assume the audit logs don't have a machine_name column,
  # so always remove the column if the machine is nil.
  kw.delete(:machine_name) if kw[:machine_name].nil?
  mappings = self.class.state_machine_column_mappings
  return kw.transform_keys { |k| mappings[k] or raise KeyError, "field #{k} unmapped in #{mappings}" }
end

#sequel_state_machine_set(unmapped, value) ⇒ Object



86
87
88
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 86

def sequel_state_machine_set(unmapped, value)
  self[self.class.state_machine_column_mappings[unmapped]] = value
end

#succeeded?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/sequel/plugins/state_machine_audit_log.rb', line 73

def succeeded?
  return !self.failed?
end