class Exlibris::Aleph::Patron::Record::Item

Attributes

id[R]
patron_id[R]
record_id[R]

Public Class Methods

new(patron_id, record_id, id) click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 8
def initialize(patron_id, record_id, id)
  @patron_id = patron_id
  @record_id = record_id
  @id = id
end

Public Instance Methods

circulation_policy() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 25
def circulation_policy
  @circulation_policy ||=
    CirculationPolicy.new(privileges, *pickup_locations)
end
create_hold(parameters) click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 34
def create_hold(parameters)
  CreateHold.new(patron_id, record_id, id, parameters)
end
hold() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 30
def hold
  @hold ||= Hold.new(patron_id, record_id, id)
end
item() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 14
def item
  @item ||= Aleph::Item.new(record_id, id).tap do |item|
    client = self.send(:client)
    root = self.send(:root)
    reader = self.send(:reader)
    item.instance_eval { instance_variable_set(:@client, client) }
    item.instance_eval { instance_variable_set(:@root, root) }
    item.instance_eval { instance_variable_set(:@reader, reader) }
  end
end

Private Instance Methods

client() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 47
def client
  @client ||=
    API::Client::Patron::Record::Item.new(patron_id, record_id, id)
end
pickup_locations() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 43
def pickup_locations
  @pickup_locations ||= reader.pickup_locations
end
privileges() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 39
def privileges
  @privileges ||= CirculationPolicy::Privileges.new(reader)
end
reader() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 56
def reader
  @reader ||= API::Reader::Patron::Record::Item.new(root)
end
root() click to toggle source
# File lib/exlibris/aleph/patron/record/item.rb, line 52
def root
  @root ||= client.root
end