discourse/lib/freedom_patches/join_dependency.rb

23 lines
599 B
Ruby
Raw Normal View History

2013-09-10 00:29:37 -04:00
# 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