| Module | Sequel::Model::Associations::InstanceMethods |
| In: |
lib/sequel/model/associations.rb
|
Instance methods used to implement the associations support.
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).
# File lib/sequel/model/associations.rb, line 1483
1483: def associations
1484: @associations ||= {}
1485: end
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.
# File lib/sequel/model/associations.rb, line 1490
1490: def freeze
1491: associations.freeze
1492: super
1493: end
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.
# File lib/sequel/model/associations.rb, line 1503
1503: def pk_or_nil
1504: Sequel::Deprecation.deprecate('Model#pk_or_nil', 'There is no replacement')
1505: key = primary_key
1506: key.is_a?(Array) ? key.map{|k| @values[k]} : @values[key]
1507: end
Clear the associations cache when refreshing
# File lib/sequel/model/associations.rb, line 1496
1496: def set_values(hash)
1497: @associations.clear if @associations
1498: super
1499: end