Module: DuckRecord::Associations
- Extended by:
- ActiveSupport::Autoload, ActiveSupport::Concern
- Included in:
- Base
- Defined in:
- lib/duck_record/associations.rb,
lib/duck_record/associations/association.rb,
lib/duck_record/associations/collection_proxy.rb,
lib/duck_record/associations/embeds_many_proxy.rb,
lib/duck_record/associations/embeds_association.rb,
lib/duck_record/associations/foreign_association.rb,
lib/duck_record/associations/has_one_association.rb,
lib/duck_record/associations/has_many_association.rb,
lib/duck_record/associations/singular_association.rb,
lib/duck_record/associations/belongs_to_association.rb,
lib/duck_record/associations/collection_association.rb,
lib/duck_record/associations/embeds_one_association.rb,
lib/duck_record/associations/embeds_many_association.rb
Overview
Active Record Belongs To Association
Defined Under Namespace
Modules: Builder, ClassMethods, ForeignAssociation Classes: Association, BelongsToAssociation, CollectionAssociation, CollectionProxy, EmbedsAssociation, EmbedsManyAssociation, EmbedsManyProxy, EmbedsOneAssociation, HasManyAssociation, HasOneAssociation, SingularAssociation
Instance Method Summary collapse
-
#association(name) ⇒ Object
Returns the association instance for the given name, instantiating it if it doesn’t already exist.
-
#association_cached?(name) ⇒ Boolean
:nodoc.
-
#initialize_dup ⇒ Object
:nodoc:.
Instance Method Details
#association(name) ⇒ Object
Returns the association instance for the given name, instantiating it if it doesn’t already exist
59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/duck_record/associations.rb', line 59 def association(name) #:nodoc: association = association_instance_get(name) if association.nil? unless reflection = self.class._reflect_on_association(name) raise AssociationNotFoundError.new(self, name) end association = reflection.association_class.new(self, reflection) association_instance_set(name, association) end association end |
#association_cached?(name) ⇒ Boolean
:nodoc
73 74 75 |
# File 'lib/duck_record/associations.rb', line 73 def association_cached?(name) # :nodoc @association_cache.key?(name) end |
#initialize_dup ⇒ Object
:nodoc:
77 78 79 80 |
# File 'lib/duck_record/associations.rb', line 77 def initialize_dup(*) # :nodoc: @association_cache = {} super end |