module Sequel::Plugins::ActiveModel::InstanceMethods
Constants
- DEFAULT_TO_PARAM_JOINER
The default string to join composite primary keys with in to_param.
Public Instance Methods
Record that an object was destroyed, for later use by destroyed?
# File lib/sequel/plugins/active_model.rb, line 43 def after_destroy super @destroyed = true end
Return ::ActiveModel::Name instance for the class.
# File lib/sequel/plugins/active_model.rb, line 49 def model_name model.model_name end
False if the object is new? or has been destroyed, true otherwise.
# File lib/sequel/plugins/active_model.rb, line 54 def persisted? return false if new? return false if defined?(@destroyed) if defined?(@rollback_checker) if @rollback_checker.call return false end end true end
An array of primary key values, or nil if the object is not persisted.
# File lib/sequel/plugins/active_model.rb, line 68 def to_key if primary_key.is_a?(Symbol) [pk] if pk else pk if pk.all? end end
With the ActiveModel plugin, Sequel model objects are already compliant, so this returns self.
# File lib/sequel/plugins/active_model.rb, line 78 def to_model self end
An string representing the object's primary key. For composite primary keys, joins them with to_param_joiner.
# File lib/sequel/plugins/active_model.rb, line 84 def to_param if persisted? and k = to_key k.join(to_param_joiner) end end
Returns a string identifying the path associated with the object.
# File lib/sequel/plugins/active_model.rb, line 91 def to_partial_path model._to_partial_path end
Private Instance Methods
For new objects, add a rollback checker to check if the transaction in which this instance is created is rolled back.
# File lib/sequel/plugins/active_model.rb, line 99 def _save(opts) if new? && db.in_transaction?(opts) @rollback_checker = db.rollback_checker(opts) end super end
Use ActiveModel compliant errors class.
# File lib/sequel/plugins/active_model.rb, line 107 def errors_class Errors end
The string to use to join composite primary key param strings.
# File lib/sequel/plugins/active_model.rb, line 112 def to_param_joiner DEFAULT_TO_PARAM_JOINER end