Class: Subjoin::Inclusions

Inherits:
Object
  • Object
show all
Defined in:
lib/subjoin/inclusions.rb

Overview

Container for related resources included in a compounf document. Alllows Hash-like access by Identifier, type/id pair, or Array-like access bu index

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Inclusions

Returns a new instance of Inclusions.



6
7
8
# File 'lib/subjoin/inclusions.rb', line 6

def initialize(data)
  @inc = data
end

Instance Method Details

#[](id) ⇒ Subjoin::Resource

Access a particular resource by id

Parameters:

  • id

    Either a Subjoin::Identifier, an Array of two strings taken as a type and an id, or an integer

Returns:



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/subjoin/inclusions.rb', line 24

def [](id)
  if id.is_a?(Identifier)
    return @inc.select{|i| i.identifier == id}.first
  end

  if id.is_a?(Array) && id.count == 2
    idd = Identifier.new(id[0], id[1])
    return @inc.select{|i| i.identifier == idd}.first
  end

  if id.is_a?(Fixnum)
    return @inc[id]
  end
end

#allArray<Subjoin::Resource>

Returns all included resources.

Returns:



11
12
13
# File 'lib/subjoin/inclusions.rb', line 11

def all
  @inc
end

#firstSubjoin::Resource

Returns first included resource.

Returns:



16
17
18
# File 'lib/subjoin/inclusions.rb', line 16

def first
  @inc.first
end