Module: Sequel::Model::Associations::InstanceMethods

Defined in:
lib/sequel/model/associations.rb

Overview

Instance methods used to implement the associations support.

Instance Method Summary collapse

Instance Method Details

#associationsObject

The currently cached associations. A hash with the keys being the association name symbols and the values being the associated object or nil (many_to_one), or the array of associated objects (*_to_many).



1483
1484
1485
# File 'lib/sequel/model/associations.rb', line 1483

def associations
  @associations ||= {}
end

#freezeObject

Freeze the associations cache when freezing the object. Note that retrieving associations after freezing will still work in most cases, but the associations will not be cached in the association cache.



1490
1491
1492
1493
# File 'lib/sequel/model/associations.rb', line 1490

def freeze
  associations.freeze
  super
end

#pk_or_nilObject

Formally used internally by the associations code, like pk but doesn’t raise an Error if the model has no primary key. Not used any longer, deprecated.



1503
1504
1505
1506
1507
# File 'lib/sequel/model/associations.rb', line 1503

def pk_or_nil
  Sequel::Deprecation.deprecate('Model#pk_or_nil', 'There is no replacement')
  key = primary_key
  key.is_a?(Array) ? key.map{|k| @values[k]} : @values[key]
end

#set_values(hash) ⇒ Object

Clear the associations cache when refreshing



1496
1497
1498
1499
# File 'lib/sequel/model/associations.rb', line 1496

def set_values(hash)
  @associations.clear if @associations
  super
end