Class: Fog::Associations::ManyModels

Inherits:
Default
  • Object
show all
Defined in:
lib/fog/core/associations/many_models.rb

Overview

Fog Multiple Association

This class handles multiple association between the models. It expects the provider to map the attribute with a collection of objects.

Instance Attribute Summary

Attributes inherited from Default

#aliases, #as, #association_class, #model, #name

Instance Method Summary collapse

Methods inherited from Default

#create_aliases, #create_mask, #initialize

Constructor Details

This class inherits a constructor from Fog::Associations::Default

Instance Method Details

#create_getterObject



16
17
18
19
20
21
22
23
# File 'lib/fog/core/associations/many_models.rb', line 16

def create_getter
  model.class_eval <<-EOS, __FILE__, __LINE__
    def #{name}
      data = associations[:#{name}]
      #{association_class}.new(data)
    end
  EOS
end

#create_setterObject



8
9
10
11
12
13
14
# File 'lib/fog/core/associations/many_models.rb', line 8

def create_setter
  model.class_eval <<-EOS, __FILE__, __LINE__
    def #{name}=(new_#{name})
      associations[:#{name}] = Array(new_#{name})
    end
  EOS
end