Sha256: e7e2e83076434cd776c59159fbf93a27ce801aa61553f5d30c9ac128d48463d1
Contents?: true
Size: 1.17 KB
Versions: 21
Compression:
Stored size: 1.17 KB
Contents
module ActiveRecord module Associations class JoinDependency class JoinPart def aliased_primary_key # CPK # "#{aliased_prefix}_r0" base_klass.composite? ? primary_key.inject([]) {|aliased_keys, key| aliased_keys << "#{ aliased_prefix }_r#{aliased_keys.length}"} : "#{ aliased_prefix }_r0" end def record_id(row) # CPK # row[aliased_primary_key] base_klass.composite? ? aliased_primary_key.map {|key| row[key]}.to_composite_keys : row[aliased_primary_key] end def column_names_with_alias unless @column_names_with_alias @column_names_with_alias = [] # CPK #([primary_key] + (column_names - [primary_key])).each_with_index do |column_name, i| keys = base_klass.composite? ? primary_key.map(&:to_s) : [primary_key] (keys + (column_names - keys)).each_with_index do |column_name, i| @column_names_with_alias << [column_name, "#{aliased_prefix}_r#{i}"] end end @column_names_with_alias end end end end end
Version data entries
21 entries across 21 versions & 1 rubygems