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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f75f54a66128a500d0bc512b7077ac20f1287d44a41ef418ad63bc20e1ec970
4
- data.tar.gz: 321aac3f7709f68098d0014165114536856281645a02773766744b08f6ba1f60
3
+ metadata.gz: 581717a54a7d13196acbf99d46db7c2e24931038a144994b9a262097efa3aae1
4
+ data.tar.gz: 3d9aad321ac4dcb7ee392c2ffb509a53c143936ae8256c758de0689a40c5be60
5
5
  SHA512:
6
- metadata.gz: 603cdb1c13e5a2a169690ccf1ca2f99af82c5dcd2e2f6b99e09fa9dc897a57643b0957f22e88b35eb48aa52eb048f8f0b93e2f721f5ecac27351777a713a713d
7
- data.tar.gz: f239d7f6626d4e57c455c6dc2a32dffbbe1b32c1aea8eaf958409f096bf5350181df993f8eb45b2f2fd8b400a59d8b719d59b9dc144f7ab164f8470b110c710f
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
- # TODO: stop hard-coding `UCB-`
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 = /^b(?<digits>[0-9]{8})(?<check>[0-9ax])?$/.freeze
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.2'.freeze
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.other_system_number%3DUCB-#{full_bib_number}-01ucs_ber"
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkeley_library-alma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Moles