Class: ActiveRecord::Associations::JoinDependency::JoinPart
- Inherits:
-
Object
- Object
- ActiveRecord::Associations::JoinDependency::JoinPart
- Defined in:
- lib/composite_primary_keys/associations/join_dependency/join_part.rb
Instance Method Summary collapse
Instance Method Details
#aliased_primary_key ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/composite_primary_keys/associations/join_dependency/join_part.rb', line 5 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 |
#column_names_with_alias ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/composite_primary_keys/associations/join_dependency/join_part.rb', line 22 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 |
#record_id(row) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/composite_primary_keys/associations/join_dependency/join_part.rb', line 14 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 |