Sha256: 85aaa80d741453f51ee2b2cc17fc528678b9a95e37f45a0f16d9c1ef40b2d57c
Contents?: true
Size: 862 Bytes
Versions: 49
Compression:
Stored size: 862 Bytes
Contents
module Fog module Associations # = 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. class OneIdentity < Default 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 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 end end end
Version data entries
49 entries across 46 versions & 3 rubygems