class ActiveRecord::Associations::JoinDependency

Attributes

calculated_columns[W]

Public Instance Methods

instantiate(rows) click to toggle source
# File lib/calculated_attributes/rails_3_patches.rb, line 53
def instantiate(rows)
  primary_key = join_base.aliased_primary_key
  parents = {}

  records = rows.map do |model|
    primary_id = model[primary_key]
    parent = parents[primary_id] ||= join_base.instantiate(model)
    construct(parent, @associations, join_associations, model)
    @calculated_columns.each { |column| parent[column.right] = model[column.right] }
    parent
  end.uniq

  remove_duplicate_results!(active_record, records, @associations)
  records
end