class Exlibris::Aleph::Table::Reader::ItemCirculationPolicies

Constants

FILENAME

Public Class Methods

new(admin_library) click to toggle source
# File lib/exlibris/aleph/table/reader/item_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/item_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 = Aleph::Item::Status.new(row.item_status_code)
      processing_status =
        Aleph::Item::ProcessingStatus.new(row.item_processing_status_code)
      identifier = 
        Aleph::Item::CirculationPolicy::Identifier.new(status, processing_status, sub_library)
      display_mask = item_display_masks[admin_library].find do |item_display_mask|
        item_display_mask.value == row.display
      end
      mask = (display_mask.nil?) ? nil : display_mask.mask
      display = Aleph::Item::CirculationPolicy::Display.new(row.display, mask)
      privileges = Aleph::Item::CirculationPolicy::Privileges.new(row)
      Aleph::Item::CirculationPolicy.new(identifier, display, privileges)
    end
  end.compact
end

Private Instance Methods

item_display_masks() click to toggle source
# File lib/exlibris/aleph/table/reader/item_circulation_policies.rb, line 39
def item_display_masks
  @item_display_masks ||= tables_manager.item_display_masks
end
sub_libraries() click to toggle source
# File lib/exlibris/aleph/table/reader/item_circulation_policies.rb, line 35
def sub_libraries
  @sub_libraries ||= tables_manager.sub_libraries
end
tables_manager() click to toggle source
# File lib/exlibris/aleph/table/reader/item_circulation_policies.rb, line 43
def tables_manager
  @tables_manager ||= Aleph::TablesManager.instance
end