def execute_callstack_for_multiparameter_attributes_with_timeliness(callstack)
errors = []
callstack.each do |name, values|
column = column_for_attribute(name)
if column && [:date, :time, :datetime].include?(column.type)
begin
callstack.delete(name)
if values.empty? || values.all?(&:nil?)
send("#{name}=", nil)
else
value = ValidatesTimeliness::ActiveRecord.time_array_to_string(values, column.type)
send("#{name}=", value)
end
rescue => ex
errors << ::ActiveRecord::AttributeAssignmentError.new("error on assignment #{values.inspect} to #{name}", ex, name)
end
end
end
unless errors.empty?
raise ::ActiveRecord::MultiparameterAssignmentErrors.new(errors), "#{errors.size} error(s) on assignment of multiparameter attributes"
end
execute_callstack_for_multiparameter_attributes_without_timeliness(callstack)
end