class Subjoin::Inclusions

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

Public Class Methods

new(data) click to toggle source
# File lib/subjoin/inclusions.rb, line 6
def initialize(data)
  @inc = data
end

Public Instance Methods

[](id) click to toggle source

Access a particular resource by id @param id Either a {Subjoin::Identifier}, an Array of two strings

taken as a type and an id, or an integer

@return [Subjoin::Resource]

# 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
all() click to toggle source

@return [Array<Subjoin::Resource>] all included resources

# File lib/subjoin/inclusions.rb, line 11
def all
  @inc
end
first() click to toggle source

@return [Subjoin::Resource] first included resource

# File lib/subjoin/inclusions.rb, line 16
def first
  @inc.first
end