Module: Mongoid::Attributes::Processing

Included in:
Mongoid::Attributes
Defined in:
lib/mongoid/attributes/processing.rb

Overview

This module contains the behavior for processing attributes.

Instance Method Summary collapse

Instance Method Details

#process_attributes(attrs = nil) {|_self| ... } ⇒ Object

Process the provided attributes casting them to their proper values if a field exists for them on the document. This will be limited to only the attributes provided in the supplied Hash so that no extra nil values get put into the document’s attributes.

Examples:

Process the attributes.

person.process_attributes(:title => "sir", :age => 40)

Parameters:

  • attrs (Hash) (defaults to: nil)

    The attributes to set.

Yields:

  • (_self)

Yield Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/mongoid/attributes/processing.rb', line 16

def process_attributes(attrs = nil)
  attrs ||= {}
  unless attrs.empty?
    attrs = sanitize_for_mass_assignment(attrs)
    attrs.each_pair do |key, value|
      next if pending_attribute?(key, value)

      process_attribute(key, value)
    end
  end
  yield self if block_given?
  process_pending
end