module SmoothOperator::AttributeAssignment
Attributes
_meta_data[R]
_options[R]
Public Class Methods
new(attributes = {}, options = {})
click to toggle source
# File lib/smooth_operator/attribute_assignment.rb, line 4 def initialize(attributes = {}, options = {}) @_options = {} before_initialize(attributes, options) assign_attributes(attributes, options) after_initialize(attributes, options) end
Public Instance Methods
assign_attributes(attributes = {}, options = {})
click to toggle source
# File lib/smooth_operator/attribute_assignment.rb, line 16 def assign_attributes(attributes = {}, options = {}) attributes = _extract_attributes(attributes) return nil unless attributes.is_a?(Hash) induce_errors(attributes.delete(self.class.errors_key)) @_options.merge!(options) if options.is_a? Hash attributes.each do |name, value| next unless allowed_attribute(name) send("#{name}=", value) end end