Methods
Attributes
[R] active_record
[R] table_joins
Public Class methods
new(active_record, joins = nil)
      # File lib/active_record/associations.rb, line 1351
1351:             def initialize(active_record, joins = nil)
1352:               @active_record = active_record
1353:               @cached_record = {}
1354:               @table_joins   = joins
1355:             end
Public Instance methods
aliased_prefix()
      # File lib/active_record/associations.rb, line 1357
1357:             def aliased_prefix
1358:               "t0"
1359:             end
aliased_primary_key()
      # File lib/active_record/associations.rb, line 1361
1361:             def aliased_primary_key
1362:               "#{ aliased_prefix }_r0"
1363:             end
aliased_table_name()
      # File lib/active_record/associations.rb, line 1365
1365:             def aliased_table_name
1366:               active_record.table_name
1367:             end
column_names_with_alias()
      # File lib/active_record/associations.rb, line 1369
1369:             def column_names_with_alias
1370:               unless @column_names_with_alias
1371:                 @column_names_with_alias = []
1372:                 ([primary_key] + (column_names - [primary_key])).each_with_index do |column_name, i|
1373:                   @column_names_with_alias << [column_name, "#{ aliased_prefix }_r#{ i }"]
1374:                 end
1375:               end
1376:               return @column_names_with_alias
1377:             end
extract_record(row)
      # File lib/active_record/associations.rb, line 1379
1379:             def extract_record(row)
1380:               column_names_with_alias.inject({}){|record, (cn, an)| record[cn] = row[an]; record}
1381:             end
instantiate(row)
      # File lib/active_record/associations.rb, line 1387
1387:             def instantiate(row)
1388:               @cached_record[record_id(row)] ||= active_record.instantiate(extract_record(row))
1389:             end
record_id(row)
      # File lib/active_record/associations.rb, line 1383
1383:             def record_id(row)
1384:               row[aliased_primary_key]
1385:             end