Class: Fog::Associations::ManyIdentities

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

Instance Attribute Summary

Attributes inherited from Default

#model, #name

Instance Method Summary collapse

Methods inherited from Default

#initialize

Constructor Details

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

Instance Method Details

#create_getterObject



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

def create_getter
  model.class_eval <<-EOS, __FILE__, __LINE__
    def #{name}
      return [] if associations[:#{name}].nil?
      Array(associations[:#{name}]).map do |association|
        service.send(self.class.associations[:#{name}]).get(association)
      end
    end
  EOS
end

#create_setterObject



4
5
6
7
8
9
10
11
12
# File 'lib/fog/core/associations/many_identities.rb', line 4

def create_setter
  model.class_eval <<-EOS, __FILE__, __LINE__
    def #{name}=(new_#{name})
      associations[:#{name}] = Array(new_#{name}).map do |association|
                                 association.respond_to?(:identity) ? association.identity : association
                               end
    end
  EOS
end