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
-
#associations ⇒ Object
The currently cached associations.
-
#freeze ⇒ Object
Freeze the associations cache when freezing the object.
-
#pk_or_nil ⇒ Object
Formally used internally by the associations code, like pk but doesn’t raise an Error if the model has no primary key.
-
#set_values(hash) ⇒ Object
Clear the associations cache when refreshing.
Instance Method Details
#associations ⇒ Object
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 |
#freeze ⇒ Object
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_nil ⇒ Object
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 |