class Subjoin::Relationship
A related resource link, providing access to resource objects linked in a relationship @see jsonapi.org/format/#document-resource-object-related-resource-links
Attributes
linkages[R]
links[R]
Public Class Methods
new(data, doc)
click to toggle source
# File lib/subjoin/relationship.rb, line 10 def initialize(data, doc) @document = doc @links = load_links(data['links']) @linkages = load_linkages(data['data'], doc) @meta = load_meta(data['meta']) end
Public Instance Methods
lookup()
click to toggle source
Resolve available linkages and return related resources @return [Array<Subjoin::Resource>]
# File lib/subjoin/relationship.rb, line 19 def lookup return [] unless @document.has_included? @linkages.map{|l| @document.included[l]} end
Private Instance Methods
load_linkages(data, doc)
click to toggle source
# File lib/subjoin/relationship.rb, line 25 def load_linkages(data, doc) return [] if data.nil? return [Identifier.new(data['type'], data['id'], data['meta'])] if data.is_a? Hash data.map{|l| Identifier.new(l['type'], l['id'], l['meta'])} end