Class: Fog::Associations::OneIdentity

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

Overview

Fog Single Association

This class handles single association between the models. It expects the provider to return only the id of the association. The association model will be loaded based on the id initialized.

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



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

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

#create_setterObject



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

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