class JsonApiClient::Associations::BaseAssociation
Attributes
attr_name[R]
klass[R]
options[R]
Public Class Methods
new(attr_name, klass, options = {})
click to toggle source
# File lib/json_api_client/associations/base_association.rb, line 5 def initialize(attr_name, klass, options = {}) @attr_name = attr_name @klass = klass @options = options end
Public Instance Methods
association_class()
click to toggle source
# File lib/json_api_client/associations/base_association.rb, line 11 def association_class @association_class ||= Utils.compute_type(klass, options.fetch(:class_name) do attr_name.to_s.classify end) end
data(url)
click to toggle source
# File lib/json_api_client/associations/base_association.rb, line 17 def data(url) from_result_set(association_class.requestor.linked(url)) end
from_result_set(result_set)
click to toggle source
# File lib/json_api_client/associations/base_association.rb, line 21 def from_result_set(result_set) result_set.to_a end
load_records(data)
click to toggle source
# File lib/json_api_client/associations/base_association.rb, line 25 def load_records(data) data.map do |d| record_class = Utils.compute_type(klass, klass.key_formatter.unformat(d["type"]).classify) record_class.load id: d["id"] end end