Class: Exlibris::Aleph::Table::Reader::PatronCirculationPolicies

Inherits:
Base
  • Object
show all
Defined in:
lib/exlibris/aleph/table/reader/patron_circulation_policies.rb

Constant Summary collapse

FILENAME =
'tab31'

Instance Attribute Summary

Attributes inherited from Base

#admin_library, #filename

Instance Method Summary collapse

Constructor Details

#initialize(admin_library) ⇒ PatronCirculationPolicies

Returns a new instance of PatronCirculationPolicies.



8
9
10
# File 'lib/exlibris/aleph/table/reader/patron_circulation_policies.rb', line 8

def initialize(admin_library)
  super(admin_library, FILENAME)
end

Instance Method Details

#allObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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