mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-12-04 21:01:27 -05:00
23 lines
599 B
Ruby
23 lines
599 B
Ruby
|
# see PR: https://github.com/rails/rails/pull/12185
|
||
|
#
|
||
|
class ActiveRecord::Associations::JoinDependency::JoinPart
|
||
|
|
||
|
def extract_record(row)
|
||
|
# Used to be: Hash[column_names_with_alias.map{|cn, an| [cn, row[an]]}]
|
||
|
# that is fairly inefficient cause all the values are first copied
|
||
|
# in to an array only to construct the Hash
|
||
|
# This code is performance critical as it is called per row.
|
||
|
hash = {}
|
||
|
|
||
|
index = 0
|
||
|
while index < column_names_with_alias.length do
|
||
|
cn,an = column_names_with_alias[index]
|
||
|
hash[cn] = row[an]
|
||
|
index += 1
|
||
|
end
|
||
|
|
||
|
hash
|
||
|
end
|
||
|
end
|
||
|
|