class Primalize::JSONAPI::Relationships

Public Class Methods

new() click to toggle source
# File lib/primalize/jsonapi.rb, line 33
def initialize
  @rels = []
  @map = {}
end

Public Instance Methods

<<(rel) click to toggle source
# File lib/primalize/jsonapi.rb, line 38
def << rel
  @rels << rel
  @map[rel.attr] = rel
end
[](rel) click to toggle source
# File lib/primalize/jsonapi.rb, line 43
def [] rel
  @map[rel]
end
call(model, cache:) click to toggle source
# File lib/primalize/jsonapi.rb, line 53
def call(model, cache:)
  @rels.each_with_object({}) do |rel, hash|
    hash[rel.attr] = rel.call(model)
  end
end
metadata(model, cache:) click to toggle source
# File lib/primalize/jsonapi.rb, line 47
def metadata(model, cache:)
  @rels.each_with_object({}) do |rel, hash|
    hash[rel.attr] = rel.metadata(model, cache: cache)
  end
end