Class: ActiveRecord::Associations::JoinDependency::Aliases
- Inherits:
 - 
      Object
      
        
- Object
 - ActiveRecord::Associations::JoinDependency::Aliases
 
 
- Defined in:
 - lib/active_record/associations/join_dependency.rb
 
Overview
:nodoc:
Defined Under Namespace
Instance Method Summary collapse
- #column_alias(node, column) ⇒ Object
 - #column_aliases(node) ⇒ Object
 - #columns ⇒ Object
 - 
  
    
      #initialize(tables)  ⇒ Aliases 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Aliases.
 
Constructor Details
#initialize(tables) ⇒ Aliases
Returns a new instance of Aliases.
      10 11 12 13 14 15 16 17 18 19 20  | 
    
      # File 'lib/active_record/associations/join_dependency.rb', line 10 def initialize(tables) @tables = tables @alias_cache = tables.each_with_object({}) { |table, h| h[table.node] = table.columns.each_with_object({}) { |column, i| i[column.name] = column.alias } } @columns_cache = tables.each_with_object({}) { |table, h| h[table.node] = table.columns } end  | 
  
Instance Method Details
#column_alias(node, column) ⇒ Object
      30 31 32  | 
    
      # File 'lib/active_record/associations/join_dependency.rb', line 30 def column_alias(node, column) @alias_cache[node][column] end  | 
  
#column_aliases(node) ⇒ Object
      26 27 28  | 
    
      # File 'lib/active_record/associations/join_dependency.rb', line 26 def column_aliases(node) @columns_cache[node] end  | 
  
#columns ⇒ Object
      22 23 24  | 
    
      # File 'lib/active_record/associations/join_dependency.rb', line 22 def columns @tables.flat_map(&:column_aliases) end  |