Mass Assignment

Many web-frameworks automate the process of updating the state of in-memory data objects from form fields or JSON in the HTTP request.

attribute_assignment.rb

def _assign_attributes(attributes)
  multi_parameter_attributes = nested_parameter_attributes = nil

attributes.each do |k, v|
    key = k.to_s

if key.include?("(")
      (multi_parameter_attributes ||= {})[key] = v
    elsif v.is_a?(Hash)
      (nested_parameter_attributes ||= {})[key] = v
    else
      _assign_attribute(key, v)
    end
  end

assign_nested_parameter_attributes(nested_parameter_attributes) if nested_parameter_attributes
  assign_multiparameter_attributes(multi_parameter_attributes) if multi_parameter_attributes
end