Module: Sequel::Plugins::ActiveModel::InstanceMethods

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

Constant Summary collapse

DEFAULT_TO_PARAM_JOINER =

The default string to join composite primary keys with in to_param.

'-'.freeze

Instance Method Summary collapse

Instance Method Details

#after_destroyObject

Record that an object was destroyed, for later use by destroyed?



42
43
44
45
# File 'lib/sequel/plugins/active_model.rb', line 42

def after_destroy
  super
  @destroyed = true
end

#model_nameObject

Return ::ActiveModel::Name instance for the class.



48
49
50
# File 'lib/sequel/plugins/active_model.rb', line 48

def model_name
  model.model_name
end

#persisted?Boolean

False if the object is new? or has been destroyed, true otherwise.

Returns:

  • (Boolean)


53
54
55
# File 'lib/sequel/plugins/active_model.rb', line 53

def persisted?
  !new? && @destroyed != true
end

#to_keyObject

An array of primary key values, or nil if the object is not persisted.



58
59
60
61
62
63
64
# File 'lib/sequel/plugins/active_model.rb', line 58

def to_key
  if primary_key.is_a?(Symbol)
    [pk] if pk
  else
    pk if pk.all?
  end
end

#to_modelObject

With the ActiveModel plugin, Sequel model objects are already compliant, so this returns self.



68
69
70
# File 'lib/sequel/plugins/active_model.rb', line 68

def to_model
  self
end

#to_paramObject

An string representing the object’s primary key. For composite primary keys, joins them with to_param_joiner.



74
75
76
77
78
# File 'lib/sequel/plugins/active_model.rb', line 74

def to_param
  if persisted? and k = to_key
    k.join(to_param_joiner)
  end
end

#to_partial_pathObject

Returns a string identifying the path associated with the object.



81
82
83
# File 'lib/sequel/plugins/active_model.rb', line 81

def to_partial_path
  model._to_partial_path
end