Class: Subjoin::Relationship

Inherits:
Object
  • Object
show all
Includes:
Linkable, Metable
Defined in:
lib/subjoin/relationship.rb

Overview

A related resource link, providing access to resource objects linked in a relationship

Instance Attribute Summary collapse

Attributes included from Metable

#meta

Instance Method Summary collapse

Methods included from Metable

#has_meta?, #load_meta

Methods included from Linkable

#has_links?, #load_links

Constructor Details

#initialize(data, doc) ⇒ Relationship



10
11
12
13
14
15
# 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

Instance Attribute Details

#linkagesObject (readonly)

Returns the value of attribute linkages.



9
10
11
# File 'lib/subjoin/relationship.rb', line 9

def linkages
  @linkages
end

Returns the value of attribute links.



9
10
11
# File 'lib/subjoin/relationship.rb', line 9

def links
  @links
end

Instance Method Details

#lookupArray<Subjoin::Resource>

Resolve available linkages and return related resources



19
20
21
22
# File 'lib/subjoin/relationship.rb', line 19

def lookup
  return [] unless @document.has_included?
  @linkages.map{|l| @document.included[l]}
end