Module: Arkenstone::Associations::Resources::HasManyParentSingletonMethods

Defined in:
lib/arkenstone/associations/resources.rb

Instance Method Summary collapse

Instance Method Details

#add_resource_methods(nested_resource_name) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/arkenstone/associations/resources.rb', line 37

def add_resource_methods(nested_resource_name)
  parent_instance          = self
  resource_name_pluralized = nested_resource_name.to_s.pluralize

  parent_instance.define_singleton_method "#{resource_name_pluralized}=" do |resources|
    resources.each do |resource|
      resource.send "#{parent_instance.class.to_s.demodulize.downcase}_id=", parent_instance.id
    end

    parent_instance.arkenstone_data[resource_name_pluralized.to_sym] = resources
    resources
  end
end