exlibris-aleph 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +199 -82
- data/Rakefile +8 -14
- data/lib/exlibris-aleph.rb +0 -3
- data/lib/exlibris/aleph/admin_library.rb +27 -0
- data/lib/exlibris/aleph/api/base.rb +27 -0
- data/lib/exlibris/aleph/api/client/base.rb +86 -0
- data/lib/exlibris/aleph/api/client/patron.rb +20 -0
- data/lib/exlibris/aleph/api/client/patron/address.rb +22 -0
- data/lib/exlibris/aleph/api/client/patron/record.rb +23 -0
- data/lib/exlibris/aleph/api/client/patron/record/item.rb +26 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/create_hold.rb +31 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/create_hold/parameters.rb +55 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/hold.rb +29 -0
- data/lib/exlibris/aleph/api/client/patron/status.rb +22 -0
- data/lib/exlibris/aleph/api/client/record.rb +21 -0
- data/lib/exlibris/aleph/api/client/record/filters.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/holding.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/holdings.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/item.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/items.rb +23 -0
- data/lib/exlibris/aleph/api/reader/base.rb +15 -0
- data/lib/exlibris/aleph/api/reader/patron.rb +19 -0
- data/lib/exlibris/aleph/api/reader/patron/address.rb +90 -0
- data/lib/exlibris/aleph/api/reader/patron/record.rb +38 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item.rb +77 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item/create_hold.rb +33 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item/hold.rb +56 -0
- data/lib/exlibris/aleph/api/reader/patron/status.rb +33 -0
- data/lib/exlibris/aleph/api/reader/record.rb +10 -0
- data/lib/exlibris/aleph/api/reader/record/item.rb +45 -0
- data/lib/exlibris/aleph/collection.rb +26 -0
- data/lib/exlibris/aleph/config.rb +17 -57
- data/lib/exlibris/aleph/holding.rb +59 -0
- data/lib/exlibris/aleph/holding/metadata.rb +28 -0
- data/lib/exlibris/aleph/holdings.rb +51 -0
- data/lib/exlibris/aleph/item.rb +138 -0
- data/lib/exlibris/aleph/item/call_number.rb +14 -0
- data/lib/exlibris/aleph/item/circulation_policy.rb +30 -0
- data/lib/exlibris/aleph/item/circulation_policy/display.rb +16 -0
- data/lib/exlibris/aleph/item/circulation_policy/identifier.rb +34 -0
- data/lib/exlibris/aleph/item/circulation_policy/privileges.rb +72 -0
- data/lib/exlibris/aleph/item/circulation_status.rb +31 -0
- data/lib/exlibris/aleph/item/display_mask.rb +19 -0
- data/lib/exlibris/aleph/item/opac_note.rb +17 -0
- data/lib/exlibris/aleph/item/processing_status.rb +23 -0
- data/lib/exlibris/aleph/item/queue.rb +32 -0
- data/lib/exlibris/aleph/item/status.rb +23 -0
- data/lib/exlibris/aleph/items.rb +51 -0
- data/lib/exlibris/aleph/metadata.rb +25 -0
- data/lib/exlibris/aleph/patron.rb +18 -82
- data/lib/exlibris/aleph/patron/address.rb +56 -0
- data/lib/exlibris/aleph/patron/circulation_policy.rb +26 -0
- data/lib/exlibris/aleph/patron/circulation_policy/identifier.rb +29 -0
- data/lib/exlibris/aleph/patron/circulation_policy/privileges.rb +56 -0
- data/lib/exlibris/aleph/patron/record.rb +39 -0
- data/lib/exlibris/aleph/patron/record/circulation_policy.rb +18 -0
- data/lib/exlibris/aleph/patron/record/circulation_policy/privileges.rb +42 -0
- data/lib/exlibris/aleph/patron/record/item.rb +63 -0
- data/lib/exlibris/aleph/patron/record/item/circulation_policy.rb +21 -0
- data/lib/exlibris/aleph/patron/record/item/circulation_policy/privileges.rb +39 -0
- data/lib/exlibris/aleph/patron/record/item/create_hold.rb +43 -0
- data/lib/exlibris/aleph/patron/record/item/hold.rb +41 -0
- data/lib/exlibris/aleph/patron/status.rb +19 -0
- data/lib/exlibris/aleph/pickup_location.rb +12 -0
- data/lib/exlibris/aleph/record.rb +14 -43
- data/lib/exlibris/aleph/record/metadata.rb +8 -0
- data/lib/exlibris/aleph/sub_library.rb +30 -0
- data/lib/exlibris/aleph/table/base.rb +22 -0
- data/lib/exlibris/aleph/table/collections.rb +17 -0
- data/lib/exlibris/aleph/table/item/circulation_policies.rb +65 -0
- data/lib/exlibris/aleph/table/item/display_masks.rb +19 -0
- data/lib/exlibris/aleph/table/patron/circulation_policies.rb +47 -0
- data/lib/exlibris/aleph/table/patron/statuses.rb +19 -0
- data/lib/exlibris/aleph/table/reader/base.rb +57 -0
- data/lib/exlibris/aleph/table/reader/collections.rb +35 -0
- data/lib/exlibris/aleph/table/reader/item_circulation_policies.rb +50 -0
- data/lib/exlibris/aleph/table/reader/item_display_masks.rb +19 -0
- data/lib/exlibris/aleph/table/reader/matcher/base.rb +30 -0
- data/lib/exlibris/aleph/table/reader/matcher/collections.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/item_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/item_display_masks.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/patron_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/patron_statuses.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/sub_libraries.rb +17 -0
- data/lib/exlibris/aleph/table/reader/patron_circulation_policies.rb +51 -0
- data/lib/exlibris/aleph/table/reader/patron_statuses.rb +19 -0
- data/lib/exlibris/aleph/table/reader/row/base.rb +25 -0
- data/lib/exlibris/aleph/table/reader/row/collections.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/item_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/row/item_display_masks.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/patron_circulation_policies.rb +20 -0
- data/lib/exlibris/aleph/table/reader/row/patron_statuses.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/sub_libraries.rb +13 -0
- data/lib/exlibris/aleph/table/reader/sub_libraries.rb +32 -0
- data/lib/exlibris/aleph/table/sub_libraries.rb +11 -0
- data/lib/exlibris/aleph/tables_manager.rb +66 -0
- data/lib/exlibris/aleph/version.rb +1 -1
- data/spec/exlibris/aleph/admin_library_spec.rb +83 -0
- data/spec/exlibris/aleph/api/base_spec.rb +23 -0
- data/spec/exlibris/aleph/api/client/base_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron/address_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/create_hold/parameters_spec.rb +101 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/create_hold_spec.rb +102 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/hold_spec.rb +89 -0
- data/spec/exlibris/aleph/api/client/patron/record/item_spec.rb +52 -0
- data/spec/exlibris/aleph/api/client/patron/record_spec.rb +45 -0
- data/spec/exlibris/aleph/api/client/patron/status_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron_spec.rb +38 -0
- data/spec/exlibris/aleph/api/client/record/filters_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record/holding_spec.rb +41 -0
- data/spec/exlibris/aleph/api/client/record/holdings_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record/item_spec.rb +41 -0
- data/spec/exlibris/aleph/api/client/record/items_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record_spec.rb +43 -0
- data/spec/exlibris/aleph/api/reader/base_spec.rb +18 -0
- data/spec/exlibris/aleph/api/reader/patron/address_spec.rb +151 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item/create_hold_spec.rb +65 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item/hold_spec.rb +145 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item_spec.rb +266 -0
- data/spec/exlibris/aleph/api/reader/patron/record_spec.rb +98 -0
- data/spec/exlibris/aleph/api/reader/patron/status_spec.rb +57 -0
- data/spec/exlibris/aleph/api/reader/patron_spec.rb +28 -0
- data/spec/exlibris/aleph/api/reader/record/item_spec.rb +178 -0
- data/spec/exlibris/aleph/collection_spec.rb +95 -0
- data/spec/exlibris/aleph/config_spec.rb +17 -0
- data/spec/exlibris/aleph/holding/metadata_spec.rb +57 -0
- data/spec/exlibris/aleph/holding_spec.rb +53 -0
- data/spec/exlibris/aleph/holdings_spec.rb +59 -0
- data/spec/exlibris/aleph/item/call_number_spec.rb +20 -0
- data/spec/exlibris/aleph/item/circulation_policy/display_spec.rb +33 -0
- data/spec/exlibris/aleph/item/circulation_policy/identifier_spec.rb +154 -0
- data/spec/exlibris/aleph/item/circulation_policy/privileges_spec.rb +183 -0
- data/spec/exlibris/aleph/item/circulation_policy_spec.rb +146 -0
- data/spec/exlibris/aleph/item/circulation_status_spec.rb +83 -0
- data/spec/exlibris/aleph/item/display_mask_spec.rb +72 -0
- data/spec/exlibris/aleph/item/opac_note_spec.rb +19 -0
- data/spec/exlibris/aleph/item/processing_status_spec.rb +75 -0
- data/spec/exlibris/aleph/item/queue_spec.rb +31 -0
- data/spec/exlibris/aleph/item/status_spec.rb +80 -0
- data/spec/exlibris/aleph/item_spec.rb +97 -0
- data/spec/exlibris/aleph/items_spec.rb +59 -0
- data/spec/exlibris/aleph/metadata_spec.rb +118 -0
- data/spec/exlibris/aleph/patron/address_spec.rb +68 -0
- data/spec/exlibris/aleph/patron/circulation_policy/identifier_spec.rb +115 -0
- data/spec/exlibris/aleph/patron/circulation_policy/privileges_spec.rb +128 -0
- data/spec/exlibris/aleph/patron/circulation_policy_spec.rb +119 -0
- data/spec/exlibris/aleph/patron/record/circulation_policy/privileges_spec.rb +88 -0
- data/spec/exlibris/aleph/patron/record/circulation_policy_spec.rb +37 -0
- data/spec/exlibris/aleph/patron/record/item/circulation_policy/privileges_spec.rb +76 -0
- data/spec/exlibris/aleph/patron/record/item/circulation_policy_spec.rb +52 -0
- data/spec/exlibris/aleph/patron/record/item/create_hold_spec.rb +49 -0
- data/spec/exlibris/aleph/patron/record/item/hold_spec.rb +41 -0
- data/spec/exlibris/aleph/patron/record/item_spec.rb +64 -0
- data/spec/exlibris/aleph/patron/record_spec.rb +30 -0
- data/spec/exlibris/aleph/patron/status_spec.rb +72 -0
- data/spec/exlibris/aleph/patron_spec.rb +28 -0
- data/spec/exlibris/aleph/pickup_location_spec.rb +19 -0
- data/spec/exlibris/aleph/record/metadata_spec.rb +120 -0
- data/spec/exlibris/aleph/record_spec.rb +44 -0
- data/spec/exlibris/aleph/sub_library_spec.rb +110 -0
- data/spec/exlibris/aleph/table/base_spec.rb +17 -0
- data/spec/exlibris/aleph/table/collections_spec.rb +24 -0
- data/spec/exlibris/aleph/table/item/circulation_policies_spec.rb +65 -0
- data/spec/exlibris/aleph/table/item/display_masks_spec.rb +26 -0
- data/spec/exlibris/aleph/table/patron/circulation_policies_spec.rb +47 -0
- data/spec/exlibris/aleph/table/patron/statuses_spec.rb +26 -0
- data/spec/exlibris/aleph/table/reader/base_spec.rb +28 -0
- data/spec/exlibris/aleph/table/reader/collections_spec.rb +33 -0
- data/spec/exlibris/aleph/table/reader/item_circulation_policies_spec.rb +33 -0
- data/spec/exlibris/aleph/table/reader/item_display_masks_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/matcher/base_spec.rb +32 -0
- data/spec/exlibris/aleph/table/reader/matcher/collections_spec.rb +39 -0
- data/spec/exlibris/aleph/table/reader/matcher/item_circulation_policies_spec.rb +39 -0
- data/spec/exlibris/aleph/table/reader/matcher/item_display_masks_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/patron_circulation_policies_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/patron_statuses_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/sub_libraries_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/patron_circulation_policies_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/patron_statuses_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/row/base_spec.rb +20 -0
- data/spec/exlibris/aleph/table/reader/row/collections_spec.rb +37 -0
- data/spec/exlibris/aleph/table/reader/row/item_circulation_policies_spec.rb +89 -0
- data/spec/exlibris/aleph/table/reader/row/item_display_masks_spec.rb +29 -0
- data/spec/exlibris/aleph/table/reader/row/patron_circulation_policies_spec.rb +115 -0
- data/spec/exlibris/aleph/table/reader/row/patron_statuses_spec.rb +29 -0
- data/spec/exlibris/aleph/table/reader/row/sub_libraries_spec.rb +41 -0
- data/spec/exlibris/aleph/table/reader/sub_libraries_spec.rb +36 -0
- data/spec/exlibris/aleph/table/sub_libraries_spec.rb +19 -0
- data/spec/exlibris/aleph/tables_manager_spec.rb +120 -0
- data/spec/exlibris/aleph_spec.rb +5 -0
- data/spec/spec_helper.rb +27 -0
- data/spec/support/mnt/aleph_tab/adm50/tab/filename +0 -0
- data/{test → spec/support}/mnt/aleph_tab/alephe/tab/tab_sub_library.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/pc_tab_exp_field_extended.eng +0 -0
- data/{test/mnt/aleph_tab → spec/support/mnt/aleph_tab/nyu50/tab}/tab15.eng +2 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab16 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab31 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab37 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab40.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab_www_item_desc.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/pc_tab_exp_field_extended.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab15.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab16 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab31 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab37 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab40.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab_www_item_desc.eng +0 -0
- data/spec/vcr_cassettes/patron.yml +1443 -0
- data/spec/vcr_cassettes/record.yml +763 -0
- metadata +351 -165
- data/lib/exlibris/aleph/abstract.rb +0 -28
- data/lib/exlibris/aleph/rest/base.rb +0 -56
- data/lib/exlibris/aleph/tab_helper.rb +0 -303
- data/lib/exlibris/aleph/tabs_parser/base.rb +0 -49
- data/lib/exlibris/aleph/tabs_parser/pc_tab_exp_field_extended.rb +0 -20
- data/lib/exlibris/aleph/tabs_parser/sub_library.rb +0 -32
- data/lib/exlibris/aleph/tabs_parser/tab15_by_item_process_status.rb +0 -33
- data/lib/exlibris/aleph/tabs_parser/tab15_by_item_status.rb +0 -33
- data/lib/exlibris/aleph/tabs_parser/tab31.rb +0 -39
- data/lib/exlibris/aleph/tabs_parser/tab37.rb +0 -63
- data/lib/exlibris/aleph/tabs_parser/tab40.rb +0 -20
- data/lib/exlibris/aleph/tabs_parser/tab_sub_library.rb +0 -21
- data/lib/exlibris/aleph/tabs_parser/tab_www_item_desc.rb +0 -20
- data/lib/exlibris/aleph/task_installer.rb +0 -25
- data/lib/exlibris/aleph/write_attributes.rb +0 -38
- data/lib/exlibris/aleph/xml_util.rb +0 -50
- data/lib/exlibris/aleph/xservice/bor_auth.rb +0 -47
- data/lib/tasks/exlibris-aleph_tasks.rake +0 -48
- data/test/config/aleph/alephe/sub_libraries.yml +0 -801
- data/test/config/aleph/nyu50/collections.yml +0 -1168
- data/test/config/aleph/nyu50/item_permissions_by_item_process_status.yml +0 -61876
- data/test/config/aleph/nyu50/item_permissions_by_item_status.yml +0 -17319
- data/test/config/aleph/nyu50/items.yml +0 -617
- data/test/config/aleph/nyu50/patron_permissions.yml +0 -19720
- data/test/config/aleph/nyu50/patrons.yml +0 -249
- data/test/config/aleph/nyu50/pickup_locations.yml +0 -2910
- data/test/config/aleph/nyu51/collections.yml +0 -41
- data/test/config/aleph/nyu51/item_permissions_by_item_process_status.yml +0 -7689
- data/test/config/aleph/nyu51/item_permissions_by_item_status.yml +0 -430
- data/test/config/aleph/nyu51/items.yml +0 -617
- data/test/config/aleph/nyu51/patron_permissions.yml +0 -6588
- data/test/config/aleph/nyu51/patrons.yml +0 -237
- data/test/config/aleph/nyu51/pickup_locations.yml +0 -456
- data/test/config_test.rb +0 -24
- data/test/exlibris-aleph_test.rb +0 -7
- data/test/mnt/aleph_tab/nyu50/tab/tab15.eng +0 -4742
- data/test/mnt/aleph_tab/pc_tab_exp_field_extended.eng +0 -158
- data/test/mnt/aleph_tab/tab16 +0 -3792
- data/test/mnt/aleph_tab/tab31 +0 -998
- data/test/mnt/aleph_tab/tab37 +0 -405
- data/test/mnt/aleph_tab/tab40.eng +0 -335
- data/test/mnt/aleph_tab/tab_sub_library.eng +0 -378
- data/test/mnt/aleph_tab/tab_www_item_desc.eng +0 -208
- data/test/patron_test.rb +0 -98
- data/test/record_benchmarks.rb +0 -26
- data/test/record_test.rb +0 -64
- data/test/support/config.yml +0 -2
- data/test/tab_helper_benchmarks.rb +0 -53
- data/test/tab_helper_test.rb +0 -192
- data/test/test_helper.rb +0 -46
- data/test/vcr_cassettes/bor_auth.yml +0 -42
- data/test/vcr_cassettes/patron.yml +0 -142
- data/test/vcr_cassettes/patron_address.yml +0 -45
- data/test/vcr_cassettes/patron_bogus_url.yml +0 -731
- data/test/vcr_cassettes/patron_error.yml +0 -93
- data/test/vcr_cassettes/record.yml +0 -146
- data/test/vcr_cassettes/record_bogus_url.yml +0 -690
- data/test/xservice/bor_auth_test.rb +0 -28
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
describe ItemDisplayMasks do
|
|
7
|
+
let(:admin_library) { AdminLibrary.new('NYU50') }
|
|
8
|
+
subject(:item_display_masks) { ItemDisplayMasks.new(admin_library) }
|
|
9
|
+
describe '#filename' do
|
|
10
|
+
subject { item_display_masks.filename }
|
|
11
|
+
it { should eq 'tab_www_item_desc.eng' }
|
|
12
|
+
end
|
|
13
|
+
describe '#all' do
|
|
14
|
+
subject { item_display_masks.all }
|
|
15
|
+
it { should be_an Array }
|
|
16
|
+
it { should_not be_empty }
|
|
17
|
+
it 'should contain ItemDisplayMask' do
|
|
18
|
+
subject.each do |item_display_mask|
|
|
19
|
+
expect(item_display_mask).to be_a Aleph::Item::DisplayMask
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe Base do
|
|
8
|
+
let(:regexp) { /t(est)/ }
|
|
9
|
+
let(:string) { 'test' }
|
|
10
|
+
subject(:base) { Base.new(regexp, string) }
|
|
11
|
+
describe '#regexp' do
|
|
12
|
+
subject { base.regexp }
|
|
13
|
+
it { should be_a Regexp }
|
|
14
|
+
end
|
|
15
|
+
describe '#match_data' do
|
|
16
|
+
subject { base.match_data }
|
|
17
|
+
it { should be_a MatchData }
|
|
18
|
+
end
|
|
19
|
+
describe '#matched_data' do
|
|
20
|
+
subject { base.matched_data }
|
|
21
|
+
it { should be_an Array }
|
|
22
|
+
end
|
|
23
|
+
describe '#matches?' do
|
|
24
|
+
subject { base.matches? }
|
|
25
|
+
it { should be_true }
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe Collections do
|
|
8
|
+
let(:string) { 'MAIN BOBST L Main Collection' }
|
|
9
|
+
subject(:collections) { Collections.new(string) }
|
|
10
|
+
describe Collections::REGEXP do
|
|
11
|
+
subject { Collections::REGEXP }
|
|
12
|
+
it { should eq /^(.{5})\s(.{5})\s(L)\s(.+)/ }
|
|
13
|
+
end
|
|
14
|
+
describe '#regexp' do
|
|
15
|
+
subject { collections.regexp }
|
|
16
|
+
it { should be_a Regexp }
|
|
17
|
+
it { should eq /^(.{5})\s(.{5})\s(L)\s(.+)/ }
|
|
18
|
+
end
|
|
19
|
+
describe '#match_data' do
|
|
20
|
+
subject { collections.match_data }
|
|
21
|
+
it { should be_a MatchData }
|
|
22
|
+
end
|
|
23
|
+
describe '#matches?' do
|
|
24
|
+
subject { collections.matches? }
|
|
25
|
+
it { should be_true }
|
|
26
|
+
end
|
|
27
|
+
describe '#matched_data' do
|
|
28
|
+
subject { collections.matched_data }
|
|
29
|
+
it { should be_an Array }
|
|
30
|
+
it 'should have 4 matches' do
|
|
31
|
+
expect(subject.size).to eq 4
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe ItemCirculationPolicies do
|
|
8
|
+
let(:string) { 'BOBST ## DP L Depository Y Y C N Y Y N Y N 00 N A' }
|
|
9
|
+
subject(:items) { ItemCirculationPolicies.new(string) }
|
|
10
|
+
describe ItemCirculationPolicies::REGEXP do
|
|
11
|
+
subject { ItemCirculationPolicies::REGEXP }
|
|
12
|
+
it { should eq /^(.{5})\s([0-9#]{2})\s([A-Z#]{2})\s(L)\s(.{30})\s([YN])\s([YN])\s([YNCT])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([0-9]{2})\s([YNC])\s([AOC])/ }
|
|
13
|
+
end
|
|
14
|
+
describe '#regexp' do
|
|
15
|
+
subject { items.regexp }
|
|
16
|
+
it { should be_a Regexp }
|
|
17
|
+
it { should eq /^(.{5})\s([0-9#]{2})\s([A-Z#]{2})\s(L)\s(.{30})\s([YN])\s([YN])\s([YNCT])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([0-9]{2})\s([YNC])\s([AOC])/ }
|
|
18
|
+
end
|
|
19
|
+
describe '#match_data' do
|
|
20
|
+
subject { items.match_data }
|
|
21
|
+
it { should be_a MatchData }
|
|
22
|
+
end
|
|
23
|
+
describe '#matches?' do
|
|
24
|
+
subject { items.matches? }
|
|
25
|
+
it { should be_true }
|
|
26
|
+
end
|
|
27
|
+
describe '#matched_data' do
|
|
28
|
+
subject { items.matched_data }
|
|
29
|
+
it { should be_an Array }
|
|
30
|
+
it 'should have 17 matches' do
|
|
31
|
+
expect(subject.size).to eq 17
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe ItemDisplayMasks do
|
|
8
|
+
let(:string) { 'ITEM-STATUS Lost/Claimed Request ILL' }
|
|
9
|
+
subject(:item_display_masks) { ItemDisplayMasks.new(string) }
|
|
10
|
+
it { should be_a ItemDisplayMasks }
|
|
11
|
+
describe ItemDisplayMasks::REGEXP do
|
|
12
|
+
subject { ItemDisplayMasks::REGEXP }
|
|
13
|
+
it { should eq /^ITEM-STATUS \s(.{80})\s(.*)$/ }
|
|
14
|
+
end
|
|
15
|
+
describe '#regexp' do
|
|
16
|
+
subject { item_display_masks.regexp }
|
|
17
|
+
it { should be_a Regexp }
|
|
18
|
+
it { should eq /^ITEM-STATUS \s(.{80})\s(.*)$/ }
|
|
19
|
+
end
|
|
20
|
+
describe '#match_data' do
|
|
21
|
+
subject { item_display_masks.match_data }
|
|
22
|
+
it { should be_a MatchData }
|
|
23
|
+
end
|
|
24
|
+
describe '#matches?' do
|
|
25
|
+
subject { item_display_masks.matches? }
|
|
26
|
+
it { should be_true }
|
|
27
|
+
end
|
|
28
|
+
describe '#matched_data' do
|
|
29
|
+
subject { item_display_masks.matched_data }
|
|
30
|
+
it { should be_an Array }
|
|
31
|
+
it 'should have 2 matches' do
|
|
32
|
+
expect(subject.size).to eq 2
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe PatronCirculationPolicies do
|
|
8
|
+
let(:string) { 'BOBST 03 Y N Y N Y Y Y N F A 20130831 0000000500 N N N 20 N N N N' }
|
|
9
|
+
subject(:patron_circulation_policies) { PatronCirculationPolicies.new(string) }
|
|
10
|
+
it { should be_a PatronCirculationPolicies }
|
|
11
|
+
describe PatronCirculationPolicies::REGEXP do
|
|
12
|
+
subject { PatronCirculationPolicies::REGEXP }
|
|
13
|
+
it { should eq /^(.{5})\s([0-9#]{2})\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([CF])\s([+A])\s([DMY\s])\s([0-9]{8})\s([0-9]{10})\s([YN])\s([YN])\s([YN])\s([0-9]{2})\s([YN])\s([YN])\s([YN])\s([YN])$/ }
|
|
14
|
+
end
|
|
15
|
+
describe '#regexp' do
|
|
16
|
+
subject { patron_circulation_policies.regexp }
|
|
17
|
+
it { should be_a Regexp }
|
|
18
|
+
it { should eq /^(.{5})\s([0-9#]{2})\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([YN])\s([CF])\s([+A])\s([DMY\s])\s([0-9]{8})\s([0-9]{10})\s([YN])\s([YN])\s([YN])\s([0-9]{2})\s([YN])\s([YN])\s([YN])\s([YN])$/ }
|
|
19
|
+
end
|
|
20
|
+
describe '#match_data' do
|
|
21
|
+
subject { patron_circulation_policies.match_data }
|
|
22
|
+
it { should be_a MatchData }
|
|
23
|
+
end
|
|
24
|
+
describe '#matches?' do
|
|
25
|
+
subject { patron_circulation_policies.matches? }
|
|
26
|
+
it { should be_true }
|
|
27
|
+
end
|
|
28
|
+
describe '#matched_data' do
|
|
29
|
+
subject { patron_circulation_policies.matched_data }
|
|
30
|
+
it { should be_an Array }
|
|
31
|
+
it 'should have 23 matches' do
|
|
32
|
+
expect(subject.size).to eq 23
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe PatronStatuses do
|
|
8
|
+
let(:string) { 'BOR-STATUS ##### L Palmer Faculty 03' }
|
|
9
|
+
subject(:patron_statuses) { PatronStatuses.new(string) }
|
|
10
|
+
it { should be_a PatronStatuses }
|
|
11
|
+
describe PatronStatuses::REGEXP do
|
|
12
|
+
subject { PatronStatuses::REGEXP }
|
|
13
|
+
it { should eq /^BOR-STATUS\s{10}\s.{5}\sL\s(.{50})\s(.*)$/ }
|
|
14
|
+
end
|
|
15
|
+
describe '#regexp' do
|
|
16
|
+
subject { patron_statuses.regexp }
|
|
17
|
+
it { should be_a Regexp }
|
|
18
|
+
it { should eq /^BOR-STATUS\s{10}\s.{5}\sL\s(.{50})\s(.*)$/ }
|
|
19
|
+
end
|
|
20
|
+
describe '#match_data' do
|
|
21
|
+
subject { patron_statuses.match_data }
|
|
22
|
+
it { should be_a MatchData }
|
|
23
|
+
end
|
|
24
|
+
describe '#matches?' do
|
|
25
|
+
subject { patron_statuses.matches? }
|
|
26
|
+
it { should be_true }
|
|
27
|
+
end
|
|
28
|
+
describe '#matched_data' do
|
|
29
|
+
subject { patron_statuses.matched_data }
|
|
30
|
+
it { should be_an Array }
|
|
31
|
+
it 'should have 2 matches' do
|
|
32
|
+
expect(subject.size).to eq 2
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Matcher
|
|
7
|
+
describe SubLibraries do
|
|
8
|
+
let(:string) { 'BOBST 1 NYU50 L NYU Bobst BOBST BOBST BOBST BOBST NYU50 ALEPH' }
|
|
9
|
+
subject(:sub_libraries) { SubLibraries.new(string) }
|
|
10
|
+
it { should be_a SubLibraries }
|
|
11
|
+
describe SubLibraries::REGEXP do
|
|
12
|
+
subject { SubLibraries::REGEXP }
|
|
13
|
+
it { should eq /^(.{5})\s([1-6]{1})\s(.{5})\s([L,H,A,R,S]{1})\s(.{1,30})/ }
|
|
14
|
+
end
|
|
15
|
+
describe '#regexp' do
|
|
16
|
+
subject { sub_libraries.regexp }
|
|
17
|
+
it { should be_a Regexp }
|
|
18
|
+
it { should eq /^(.{5})\s([1-6]{1})\s(.{5})\s([L,H,A,R,S]{1})\s(.{1,30})/ }
|
|
19
|
+
end
|
|
20
|
+
describe '#match_data' do
|
|
21
|
+
subject { sub_libraries.match_data }
|
|
22
|
+
it { should be_a MatchData }
|
|
23
|
+
end
|
|
24
|
+
describe '#matches?' do
|
|
25
|
+
subject { sub_libraries.matches? }
|
|
26
|
+
it { should be_true }
|
|
27
|
+
end
|
|
28
|
+
describe '#matched_data' do
|
|
29
|
+
subject { sub_libraries.matched_data }
|
|
30
|
+
it { should be_an Array }
|
|
31
|
+
it 'should have 5 matches' do
|
|
32
|
+
expect(subject.size).to eq 5
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
describe PatronCirculationPolicies do
|
|
7
|
+
let(:admin_library) { AdminLibrary.new('NYU50') }
|
|
8
|
+
subject(:patron_circulation_policies) { PatronCirculationPolicies.new(admin_library) }
|
|
9
|
+
describe '#filename' do
|
|
10
|
+
subject { patron_circulation_policies.filename }
|
|
11
|
+
it { should eq 'tab31' }
|
|
12
|
+
end
|
|
13
|
+
describe '#all' do
|
|
14
|
+
subject { patron_circulation_policies.all }
|
|
15
|
+
it { should be_an Array }
|
|
16
|
+
it { should_not be_empty }
|
|
17
|
+
it 'should contain Patron::CirculationPolicy elements' do
|
|
18
|
+
subject.each do |patron_circulation_policy|
|
|
19
|
+
expect(patron_circulation_policy).to be_a Aleph::Patron::CirculationPolicy
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
describe PatronStatuses do
|
|
7
|
+
let(:admin_library) { AdminLibrary.new('NYU50') }
|
|
8
|
+
subject(:patron_statuses) { PatronStatuses.new(admin_library) }
|
|
9
|
+
describe '#filename' do
|
|
10
|
+
subject { patron_statuses.filename }
|
|
11
|
+
it { should eq 'pc_tab_exp_field_extended.eng' }
|
|
12
|
+
end
|
|
13
|
+
describe '#all' do
|
|
14
|
+
subject { patron_statuses.all }
|
|
15
|
+
it { should be_an Array }
|
|
16
|
+
it { should_not be_empty }
|
|
17
|
+
it 'should contain Patron::Status' do
|
|
18
|
+
subject.each do |patron_status|
|
|
19
|
+
expect(patron_status).to be_a Aleph::Patron::Status
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe Base do
|
|
8
|
+
let(:data) { ['value1', 'value2'] }
|
|
9
|
+
subject(:base) { Base.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
describe '#data' do
|
|
12
|
+
subject { base.data }
|
|
13
|
+
it { should eq data }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe Collections do
|
|
8
|
+
let(:data) { ['MAIN', 'BOBST', 'L', 'Main Collection'] }
|
|
9
|
+
subject(:collections) { Collections.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
it { should be_a Collections }
|
|
12
|
+
describe '#data' do
|
|
13
|
+
subject { collections.data }
|
|
14
|
+
it { should eq data }
|
|
15
|
+
end
|
|
16
|
+
describe '#code' do
|
|
17
|
+
subject { collections.code }
|
|
18
|
+
it { should eq 'MAIN' }
|
|
19
|
+
end
|
|
20
|
+
describe '#sub_library_code' do
|
|
21
|
+
subject { collections.sub_library_code }
|
|
22
|
+
it { should eq 'BOBST' }
|
|
23
|
+
end
|
|
24
|
+
describe '#alpha' do
|
|
25
|
+
subject { collections.alpha }
|
|
26
|
+
it { should eq 'L' }
|
|
27
|
+
end
|
|
28
|
+
describe '#display' do
|
|
29
|
+
subject { collections.display }
|
|
30
|
+
it { should eq 'Main Collection' }
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe ItemCirculationPolicies do
|
|
8
|
+
let(:data) { ["BOBST", "##", "DP", "L", "Depository ", "Y", "Y", "C", "N", "Y", "Y", "N", "Y", "N", "00", "N", "A"] }
|
|
9
|
+
subject(:item_circulation_policies) { ItemCirculationPolicies.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
it { should be_a ItemCirculationPolicies }
|
|
12
|
+
describe '#data' do
|
|
13
|
+
subject { item_circulation_policies.data }
|
|
14
|
+
it { should eq data }
|
|
15
|
+
end
|
|
16
|
+
describe '#sub_library_code' do
|
|
17
|
+
subject { item_circulation_policies.sub_library_code }
|
|
18
|
+
it { should eq 'BOBST' }
|
|
19
|
+
end
|
|
20
|
+
describe '#item_status_code' do
|
|
21
|
+
subject { item_circulation_policies.item_status_code }
|
|
22
|
+
it { should eq '##' }
|
|
23
|
+
end
|
|
24
|
+
describe '#item_processing_status_code' do
|
|
25
|
+
subject { item_circulation_policies.item_processing_status_code }
|
|
26
|
+
it { should eq 'DP' }
|
|
27
|
+
end
|
|
28
|
+
describe '#alpha' do
|
|
29
|
+
subject { item_circulation_policies.alpha }
|
|
30
|
+
it { should eq 'L' }
|
|
31
|
+
end
|
|
32
|
+
describe '#display' do
|
|
33
|
+
subject { item_circulation_policies.display }
|
|
34
|
+
it { should eq 'Depository' }
|
|
35
|
+
end
|
|
36
|
+
describe '#loanable' do
|
|
37
|
+
subject { item_circulation_policies.loanable }
|
|
38
|
+
it { should eq 'Y' }
|
|
39
|
+
end
|
|
40
|
+
describe '#renewable' do
|
|
41
|
+
subject { item_circulation_policies.renewable }
|
|
42
|
+
it { should eq 'Y' }
|
|
43
|
+
end
|
|
44
|
+
describe '#requestable' do
|
|
45
|
+
subject { item_circulation_policies.requestable }
|
|
46
|
+
it { should eq 'C' }
|
|
47
|
+
end
|
|
48
|
+
describe '#photocopyable' do
|
|
49
|
+
subject { item_circulation_policies.photocopyable }
|
|
50
|
+
it { should eq 'N' }
|
|
51
|
+
end
|
|
52
|
+
describe '#displayable' do
|
|
53
|
+
subject { item_circulation_policies.displayable }
|
|
54
|
+
it { should eq 'Y' }
|
|
55
|
+
end
|
|
56
|
+
describe '#specific_item' do
|
|
57
|
+
subject { item_circulation_policies.specific_item }
|
|
58
|
+
it { should eq 'Y' }
|
|
59
|
+
end
|
|
60
|
+
describe '#limit_hold' do
|
|
61
|
+
subject { item_circulation_policies.limit_hold }
|
|
62
|
+
it { should eq 'N' }
|
|
63
|
+
end
|
|
64
|
+
describe '#recallable' do
|
|
65
|
+
subject { item_circulation_policies.recallable }
|
|
66
|
+
it { should eq 'Y' }
|
|
67
|
+
end
|
|
68
|
+
describe '#rush_recallable' do
|
|
69
|
+
subject { item_circulation_policies.rush_recallable }
|
|
70
|
+
it { should eq 'N' }
|
|
71
|
+
end
|
|
72
|
+
describe '#reloaning_limit' do
|
|
73
|
+
subject { item_circulation_policies.reloaning_limit }
|
|
74
|
+
it { should eq '00' }
|
|
75
|
+
end
|
|
76
|
+
describe '#bookable' do
|
|
77
|
+
subject { item_circulation_policies.bookable }
|
|
78
|
+
it { should eq 'N' }
|
|
79
|
+
end
|
|
80
|
+
describe '#booking_hours' do
|
|
81
|
+
subject { item_circulation_policies.booking_hours }
|
|
82
|
+
it { should eq 'A' }
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|