Method: MotionPrime::ModelBaseMixin#assign_attributes

Defined in:
motion-prime/models/_base_mixin.rb

#assign_attributes(new_attributes, options = {}) ⇒ Hash

Assigns attributes to model

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :skip_nil_values (Boolean)

    Do not assign nil values

  • :validate_attribute_presence (Boolean)

    Raise error if model do not have attribute

Returns:

  • (Hash)

    attributes



48
49
50
51
52
53
54
55
56
57
58
59
# File 'motion-prime/models/_base_mixin.rb', line 48

def assign_attributes(new_attributes, options = {})
  attributes = new_attributes.symbolize_keys
  attributes.each do |k, v|
    if has_attribute?(k)
      assign_attribute(k, v) unless options[:skip_nil_values] && v.nil?
    elsif options[:validate_attribute_presence]
      raise(StoreError, "unknown attribute: '#{k}'")
    else
      Prime.logger.info("unknown attribute: #{k}")
    end
  end
end