class Exlibris::Aleph::Table::Reader::PatronCirculationPolicies

Constants

FILENAME

Public Class Methods

new(admin_library) click to toggle source
# File lib/exlibris/aleph/table/reader/patron_circulation_policies.rb, line 8
def initialize(admin_library)
  super(admin_library, FILENAME)
end

Public Instance Methods

all() click to toggle source
# File lib/exlibris/aleph/table/reader/patron_circulation_policies.rb, line 12
def all
  rows.map do |row|
    sub_library = sub_libraries.find do |sub_library|
      sub_library.code == row.sub_library_code
    end
    unless sub_library.nil?
      status = patron_statuses[admin_library].find do |patron_status|
        patron_status.code == row.patron_status_code
      end
      if status.nil? && row.patron_status_code == '##'
        status = Aleph::Patron::Status.new('##')
      end
      unless status.nil? 
        identifier =
          Aleph::Patron::CirculationPolicy::Identifier.new(status, sub_library)
        privileges =
          Aleph::Patron::CirculationPolicy::Privileges.new(row)
        Aleph::Patron::CirculationPolicy.new(identifier, privileges)
      end
    end
  end.compact
end

Private Instance Methods

patron_statuses() click to toggle source
# File lib/exlibris/aleph/table/reader/patron_circulation_policies.rb, line 40
def patron_statuses
  @patron_statuses ||= tables_manager.patron_statuses
end
sub_libraries() click to toggle source
# File lib/exlibris/aleph/table/reader/patron_circulation_policies.rb, line 36
def sub_libraries
  @sub_libraries ||= tables_manager.sub_libraries
end
tables_manager() click to toggle source
# File lib/exlibris/aleph/table/reader/patron_circulation_policies.rb, line 44
def tables_manager
  @tables_manager ||= Aleph::TablesManager.instance
end