Sha256: 57b574a2b23d2e1bdecf82a2ee8df4fd97f1660304420d29f5c3d1d3fe1fc66c

Contents?: true

Size: 782 Bytes

Versions: 21

Compression:

Stored size: 782 Bytes

Contents

module ApiResource
  module Associations
    class BelongsToRemoteObjectProxy < SingleObjectProxy

      attr_reader :foreign_key


      # sets some defaults for the foreign key name for this association
      def self.define_association_as_attribute(klass, assoc_name, opts = {})
        opts["foreign_key"] = self.foreign_key_name(assoc_name)
        super(klass, assoc_name, opts)
      end

      # constructor
      def initialize(klass, owner, opts = {})
        super

        @foreign_key = opts["foreign_key"] || @klass.to_s.foreign_key
        # now if we have an owner and a foreign key, we set 
        # the data up to load
        if key = owner.send(self.foreign_key)
          self.remote_path =  self.klass.element_path(key)
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
api_resource-0.6.25 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.24 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.23 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.22 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.21 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.20 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.19 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.18 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.17 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.16 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.15 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.14 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.13 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.12 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.11 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.9 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.10 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.8 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.7 lib/api_resource/associations/belongs_to_remote_object_proxy.rb
api_resource-0.6.6 lib/api_resource/associations/belongs_to_remote_object_proxy.rb