Module: ActiveData::Model::NestedAttributes
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/active_data/model/nested_attributes.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #assign_nested_attributes_for_collection_association(association_name, attributes_collection, assignment_opts = {}) ⇒ Object
- #assign_nested_attributes_for_one_to_one_association(association_name, attributes, assignment_opts = {}) ⇒ Object
Instance Method Details
#assign_nested_attributes_for_collection_association(association_name, attributes_collection, assignment_opts = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/active_data/model/nested_attributes.rb', line 30 def assign_nested_attributes_for_collection_association(association_name, attributes_collection, assignment_opts = {}) unless attributes_collection.is_a?(Hash) || attributes_collection.is_a?(Array) raise ArgumentError, "Hash or Array expected, got #{attributes_collection.class.name} (#{attributes_collection.inspect})" end if attributes_collection.is_a? Hash keys = attributes_collection.keys attributes_collection = if keys.include?('id') || keys.include?(:id) Array.wrap(attributes_collection) else attributes_collection.values end end reflection = self.class.reflect_on_association association_name send "#{association_name}=", attributes_collection end |
#assign_nested_attributes_for_one_to_one_association(association_name, attributes, assignment_opts = {}) ⇒ Object
49 50 51 52 53 54 55 |
# File 'lib/active_data/model/nested_attributes.rb', line 49 def assign_nested_attributes_for_one_to_one_association(association_name, attributes, assignment_opts = {}) unless attributes.is_a?(Hash) raise ArgumentError, "Hash expected, got #{attributes.class.name} (#{attributes.inspect})" end send "#{association_name}=", attributes end |