Sha256: d51b7e06af4f4c1784bf23e7dc9d1a6f267ac900d063beb3ebe6104ce16397ec

Contents?: true

Size: 803 Bytes

Versions: 3

Compression:

Stored size: 803 Bytes

Contents

module Exlibris
  module Aleph
    class Patron
      class Record
        attr_reader :patron_id, :id

        def initialize(patron_id, id)
          @patron_id = patron_id
          @id = id
        end

        def circulation_policy
          @circulation_policy ||= CirculationPolicy.new(privileges)
        end

        def item(item_id)
          Item.new(patron_id, id, item_id)
        end

        private
        def privileges
          @privileges ||= CirculationPolicy::Privileges.new(reader)
        end

        def client
          @client ||= API::Client::Patron::Record.new(patron_id, id)
        end

        def root
          @root ||= client.root
        end

        def reader
          @reader ||= API::Reader::Patron::Record.new(root)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
exlibris-aleph-2.0.4 lib/exlibris/aleph/patron/record.rb
exlibris-aleph-2.0.3 lib/exlibris/aleph/patron/record.rb
exlibris-aleph-2.0.0 lib/exlibris/aleph/patron/record.rb