method
cast_values
rails latest stable - Class:
ActiveRecord::Result
cast_values(type_overrides = {})public
No documentation available.
# File activerecord/lib/active_record/result.rb, line 107
def cast_values(type_overrides = {}) # :nodoc:
if columns.one?
# Separated to avoid allocating an array per row
type = if type_overrides.is_a?(Array)
type_overrides.first
else
column_type(columns.first, 0, type_overrides)
end
rows.map do |(value)|
type.deserialize(value)
end
else
types = if type_overrides.is_a?(Array)
type_overrides
else
columns.map.with_index { |name, i| column_type(name, i, type_overrides) }
end
rows.map do |values|
Array.new(values.size) { |i| types[i].deserialize(values[i]) }
end
end
end