Class: ActiveRecord::Associations::AliasTracker
- Inherits:
-
Object
- Object
- ActiveRecord::Associations::AliasTracker
- Defined in:
- lib/motor/active_record_utils/active_record_filter.rb
Instance Method Summary collapse
- #aliased_table_for_relation(trail, arel_table, &block) ⇒ Object
-
#initialize(connection, aliases) ⇒ AliasTracker
constructor
A new instance of AliasTracker.
Constructor Details
#initialize(connection, aliases) ⇒ AliasTracker
Returns a new instance of AliasTracker.
51 52 53 54 55 |
# File 'lib/motor/active_record_utils/active_record_filter.rb', line 51 def initialize(connection, aliases) @aliases = aliases @connection = connection @relation_trail = {} end |
Instance Method Details
#aliased_table_for_relation(trail, arel_table, &block) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/motor/active_record_utils/active_record_filter.rb', line 57 def aliased_table_for_relation(trail, arel_table, &block) @relation_trail[trail] ||= if Rails::VERSION::MAJOR >= 6 aliased_table_for(arel_table, &block) else aliased_table_for(arel_table.name, trail.last, nil) end end |