/usr/lib/ruby/vendor_ruby/fog/core/associations/many_identities.rb is in ruby-fog-core 1.42.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | module Fog
module Associations
# = Fog Multiple Association
#
# This class handles multiple association between the models.
# It expects the provider to return a collection of ids.
# The association models will be loaded based on the collection of ids.
class ManyIdentities < Default
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
def create_getter
model.class_eval <<-EOS, __FILE__, __LINE__
def #{name}
return [] if associations[:#{name}].nil?
data = Array(associations[:#{name}]).map do |association|
service.send(self.class.associations[:#{name}]).get(association)
end
#{association_class}.new(data)
end
EOS
end
end
end
end
|