class JsonApiClient::Associations::BelongsTo::Association

Attributes

param[R]

Public Class Methods

new(attr_name, klass, options = {}) click to toggle source
# File lib/json_api_client/associations/belongs_to.rb, line 9
def initialize(attr_name, klass, options = {})
  super
  @param = options.fetch(:param, :"#{attr_name}_id").to_sym
  @shallow_path = options.fetch(:shallow_path, false)
end

Public Instance Methods

set_prefix_path(attrs, formatter) click to toggle source
# File lib/json_api_client/associations/belongs_to.rb, line 23
def set_prefix_path(attrs, formatter)
  return if shallow_path? && !attrs[param]
  attrs[param] = encode_part(attrs[param]) if attrs.key?(param)
  to_prefix_path(formatter) % attrs
end
shallow_path?() click to toggle source
# File lib/json_api_client/associations/belongs_to.rb, line 15
def shallow_path?
  @shallow_path
end
to_prefix_path(formatter) click to toggle source
# File lib/json_api_client/associations/belongs_to.rb, line 19
def to_prefix_path(formatter)
  "#{formatter.format(attr_name.to_s.pluralize)}/%{#{param}}"
end