Module: Serialist::InstanceMethods
- Defined in:
- lib/serialist/serialist_module.rb
Instance Method Summary collapse
-
#serialist_attributes=(new_attributes, guard_protected_attributes = true) ⇒ Object
needed because AR checks with respond_to when doing mass assignment.
- #serialist_method_missing(method, *args, &block) ⇒ Object
Instance Method Details
#serialist_attributes=(new_attributes, guard_protected_attributes = true) ⇒ Object
needed because AR checks with respond_to when doing mass assignment.
89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/serialist/serialist_module.rb', line 89 def serialist_attributes=(new_attributes, guard_protected_attributes = true) return if new_attributes.nil? attributes = new_attributes.dup attributes.stringify_keys! attributes.each do |k, v| unless k.include?("(") self.class.define_access_method(k + "=") unless respond_to?("#{k}=") # for mass-affectation self.class.define_access_method(k) unless respond_to?(k) # for validation end end self.send(:old_attributes=, new_attributes, guard_protected_attributes = true) end |
#serialist_method_missing(method, *args, &block) ⇒ Object
102 103 104 105 106 107 108 109 |
# File 'lib/serialist/serialist_module.rb', line 102 def serialist_method_missing(method, *args, &block) begin old_method_missing(method, *args, &block) rescue NoMethodError self.class.define_access_method(method.to_s) self.send(method, *args, &block) end end |