method
hash_rows
v6.0.0 -
Show latest stable
- Class:
ActiveRecord::Result
hash_rows()private
No documentation available.
# File activerecord/lib/active_record/result.rb, line 142
def hash_rows
@hash_rows ||=
begin
# We freeze the strings to prevent them getting duped when
# used as keys in ActiveRecord::Base's @attributes hash
columns = @columns.map(&:-@)
length = columns.length
@rows.map { |row|
# In the past we used Hash[columns.zip(row)]
# though elegant, the verbose way is much more efficient
# both time and memory wise cause it avoids a big array allocation
# this method is called a lot and needs to be micro optimised
hash = {}
index = 0
while index < length
hash[columns[index]] = row[index]
index += 1
end
hash
}
end
end