berkeley_library-alma 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/alma.iml +1 -0
- data/CHANGES.md +6 -0
- data/lib/berkeley_library/alma/bib_number.rb +3 -4
- data/lib/berkeley_library/alma/constants.rb +1 -1
- data/lib/berkeley_library/alma/module_info.rb +1 -1
- data/spec/lib/berkeley_library/alma/bib_number_spec.rb +8 -0
- data/spec/spec_helper.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 581717a54a7d13196acbf99d46db7c2e24931038a144994b9a262097efa3aae1
|
4
|
+
data.tar.gz: 3d9aad321ac4dcb7ee392c2ffb509a53c143936ae8256c758de0689a40c5be60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd8d67af487bac3d335a672d538fe72289a08e9abe470f560c3af5157a5724acd2619937b3e35dc802811a33e7181719516eece6a9c894ecfb1e38899ff6fe0f
|
7
|
+
data.tar.gz: 7f3d90e3777dd0b129931a7a919366afbb0db0fbb6ca4d5aa331c4be42c925f8ffc0d9b31f3b05bfcf4957c61afd343f3d496697ff10a979fb3b75c2c8f6db50
|
data/.idea/alma.iml
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
<sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
|
9
9
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
10
10
|
<excludeFolder url="file://$MODULE_DIR$/artifacts" />
|
11
|
+
<excludeFolder url="file://$MODULE_DIR$/doc" />
|
11
12
|
</content>
|
12
13
|
<orderEntry type="jdk" jdkName="RVM: ruby-2.7.5" jdkType="RUBY_SDK" />
|
13
14
|
<orderEntry type="sourceFolder" forTests="false" />
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.0.3 (3 February 2022)
|
2
|
+
|
3
|
+
- use `local_field_996` instead of `other_system_number` when making SRU queries
|
4
|
+
for Millennium records
|
5
|
+
- accept leading upper-case B in bib numbers
|
6
|
+
|
1
7
|
# 0.0.2 (26 January 2022)
|
2
8
|
|
3
9
|
- update to [berkeley_library-marc](https://github.com/BerkeleyLibrary/marc) 0.3.1
|
@@ -18,7 +18,8 @@ module BerkeleyLibrary
|
|
18
18
|
# ------------------------------------------------------------
|
19
19
|
# Initializer
|
20
20
|
|
21
|
-
# Initializes a new {BibNumber} from the specified string.
|
21
|
+
# Initializes a new {BibNumber} from the specified string. Note that a bib number
|
22
|
+
# may start with an upper-case B, but it will be converted to lower case.
|
22
23
|
#
|
23
24
|
# @param [String] bib_number The bib number, with or without check digit
|
24
25
|
# @raise [ArgumentError] if the specified string is not an 8- or 9-digit bib number,
|
@@ -51,9 +52,7 @@ module BerkeleyLibrary
|
|
51
52
|
#
|
52
53
|
# @return [String] the SRU query value
|
53
54
|
def sru_query_value
|
54
|
-
|
55
|
-
other_system_number = "UCB-#{self}-#{Config.alma_institution_code.downcase}"
|
56
|
-
"alma.other_system_number=#{other_system_number}"
|
55
|
+
"alma.local_field_996=#{full_bib}"
|
57
56
|
end
|
58
57
|
|
59
58
|
# ------------------------------------------------------------
|
@@ -4,7 +4,7 @@ module BerkeleyLibrary
|
|
4
4
|
module Alma
|
5
5
|
module Constants
|
6
6
|
# 'x' represents a calculated check digit of 10; 'a' is a wildcard
|
7
|
-
MILLENNIUM_RECORD_RE = /^
|
7
|
+
MILLENNIUM_RECORD_RE = /^[Bb](?<digits>[0-9]{8})(?<check>[0-9ax])?$/.freeze
|
8
8
|
|
9
9
|
# '99' is the Alma prefix for a Metadata Management System ID
|
10
10
|
# see https://knowledge.exlibrisgroup.com/Alma/Product_Documentation/010Alma_Online_Help_(English)/Metadata_Management/005Introduction_to_Metadata_Management/020Record_Numbers
|
@@ -7,7 +7,7 @@ module BerkeleyLibrary
|
|
7
7
|
SUMMARY = 'Alma/Primo utilities for the UC Berkeley Library'.freeze
|
8
8
|
DESCRIPTION = 'A gem providing Alma/Primo-related utility code for the UC Berkeley Library'.freeze
|
9
9
|
LICENSE = 'MIT'.freeze
|
10
|
-
VERSION = '0.0.
|
10
|
+
VERSION = '0.0.3'.freeze
|
11
11
|
HOMEPAGE = 'https://github.com/BerkeleyLibrary/alma'.freeze
|
12
12
|
end
|
13
13
|
end
|
@@ -40,6 +40,14 @@ module BerkeleyLibrary
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
+
it 'accepts an upper-case B, but treats it as lower case' do
|
44
|
+
raw_bib = 'B11082434'
|
45
|
+
expected_bib = 'b110824349'
|
46
|
+
bib_number = BibNumber.new(raw_bib)
|
47
|
+
expect(bib_number.full_bib).to eq(expected_bib)
|
48
|
+
expect(bib_number.to_s).to eq(expected_bib)
|
49
|
+
end
|
50
|
+
|
43
51
|
it 'produces the expected check digit' do
|
44
52
|
aggregate_failures do
|
45
53
|
expected_check_digits_by_bib.each do |bib_expected, cd_expected|
|
data/spec/spec_helper.rb
CHANGED
@@ -38,7 +38,7 @@ def sru_url_for(record_id)
|
|
38
38
|
"#{sru_url_base}alma.mms_id%3D#{record_id}"
|
39
39
|
elsif BerkeleyLibrary::Alma::Constants::MILLENNIUM_RECORD_RE =~ record_id
|
40
40
|
full_bib_number = BerkeleyLibrary::Alma::BibNumber.new(record_id).to_s
|
41
|
-
"#{sru_url_base}alma.
|
41
|
+
"#{sru_url_base}alma.local_field_996%3D#{full_bib_number}"
|
42
42
|
else
|
43
43
|
raise ArgumentError, "Unknown record ID type: #{record_id}"
|
44
44
|
end
|