Sha256: 5c7fa1873df6935961f03803a62c5970f120bca0b450af892bb16a9437b120ef

Contents?: true

Size: 608 Bytes

Versions: 10

Compression:

Stored size: 608 Bytes

Contents

module JsonApiClient
  module Associations
    module BelongsTo
      extend ActiveSupport::Concern

      module ClassMethods
        def belongs_to(attr_name, options = {})
          # self.associations = self.associations + [HasOne::Association.new(attr_name, self, options)]
          self.associations += [BelongsTo::Association.new(attr_name, self, options)]
        end
      end

      class Association < BaseAssociation
        def param
          :"#{attr_name}_id"
        end

        def to_prefix_path
          "#{attr_name.to_s.pluralize}/%{#{param}}"
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
json_api_client-1.5.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.4.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.3.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.2.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.1.1 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.1.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.0.2 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.0.1 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.0.0 lib/json_api_client/associations/belongs_to.rb
json_api_client-1.0.0.beta7 lib/json_api_client/associations/belongs_to.rb