Class: ActiveRecord::AssociationRoute::Reverse
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
AssociationRoute
|
|
|
Instance Chain:
self,
AssociationRoute
|
|
| Inherits: |
AssociationRoute
|
| Defined in: | activerecord/lib/active_record/association_route.rb |
Instance Method Summary
-
#destination_attributes(origin)
The attributes #write would assign to a destination, for building one.
- #destination_fixed_values
- #origin_fixed_values
- #reference_needs_update?(origin, destination) ⇒ Boolean
- #write(origin, destination, force: true)
- #initialize_keys private
Instance Method Details
#destination_attributes(origin)
The attributes #write would assign to a destination, for building one.
# File 'activerecord/lib/active_record/association_route.rb', line 353
def destination_attributes(origin) @link.reference_values(origin) end
#destination_fixed_values
[ GitHub ]# File 'activerecord/lib/active_record/association_route.rb', line 344
def destination_fixed_values @link.fixed_values end
#initialize_keys (private)
[ GitHub ]# File 'activerecord/lib/active_record/association_route.rb', line 358
def initialize_keys @origin_key = link.match&.target_key @destination_key = link.match&.reference_key @reference_origin_key = link.reference&.target_key @reference_destination_key = link.reference_key @_origin_key = link._match_target_key @_destination_key = link._match_reference_key @_reference_origin_key = link._target_key @_reference_destination_key = link._reference_key @constraint_pairs = link.constraints.empty? ? EMPTY_KEY_PAIRS : pairs_for(link.constraints.target_key, link.constraints.reference_key) end
#origin_fixed_values
[ GitHub ]# File 'activerecord/lib/active_record/association_route.rb', line 340
def origin_fixed_values EMPTY_FIXED_VALUES end
#reference_needs_update?(origin, destination) ⇒ Boolean
# File 'activerecord/lib/active_record/association_route.rb', line 336
def reference_needs_update?(origin, destination) @link.reference_needs_update?(destination, origin) end
#write(origin, destination, force: true)
[ GitHub ]# File 'activerecord/lib/active_record/association_route.rb', line 348
def write(origin, destination, force: true) @link.write_reference(destination, origin, force: force) end