class Exlibris::Aleph::Holdings

Attributes

record_id[R]

Public Class Methods

new(record_id) click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 12
def initialize(record_id)
  @record_id = record_id
end

Public Instance Methods

to_a() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 16
def to_a
  @array ||= ids.map { |id| Holding.new(record_id, id) }
end

Private Instance Methods

client() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 21
def client
  @client ||= API::Client::Record::Holdings.new(record_id)
end
holdings() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 33
def holdings
  @holdings ||= holdings_root['holding'] unless holdings_root.nil?
end
holdings_root() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 29
def holdings_root
  @holdings_root ||= root['holdings']
end
ids() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 37
def ids
  @ids ||= begin
    if holdings.nil?
      []
    else
      holdings.map do |holding|
        href = (holdings.size > 1) ? holding['href'] : holding[1]
        href.split('/').pop
      end
    end
  end
end
root() click to toggle source
# File lib/exlibris/aleph/holdings.rb, line 25
def root
  @root ||= client.root
end