pennmarc 1.2.1 → 1.2.3
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.
- checksums.yaml +4 -4
- data/lib/pennmarc/helpers/subject.rb +2 -2
- data/lib/pennmarc/helpers/title.rb +2 -0
- data/lib/pennmarc/mappings/locations.yml +1 -1
- data/lib/pennmarc/version.rb +1 -1
- data/spec/lib/pennmarc/helpers/subject_spec.rb +7 -2
- data/spec/lib/pennmarc/helpers/title_spec.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96396e62916d963919d655e236402c3ae40386dc9ac6078e135f2d9c41481375
|
4
|
+
data.tar.gz: 554416ba78ce36f00e15b240e988421096349966edc5617b6c5b1f3d573d19f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b64b529c5929690130cce0480a0e7fd99d32c435e5cf37daa058ab55838c28f246c8cb250f0ee9a4c2c243a118a6815add56f16df6c8bd54edd4b08022b7e36
|
7
|
+
data.tar.gz: fcb648bce5413f48f719050e528ed9f329618cbb5ca0af5e15aa02abd40f35fedb81e64d4614e8fcea2f32a6c6b5784ac7559c44a4771a1ef17321fc56d2b220
|
@@ -39,7 +39,7 @@ module PennMARC
|
|
39
39
|
# TODO: use term hash here? pro/chr would be rejected...
|
40
40
|
# TODO: should we care about punctuation in a search field? relator mapping?
|
41
41
|
case subfield.code
|
42
|
-
when '5', '6', '8' then next
|
42
|
+
when '5', '6', '8', '7' then next
|
43
43
|
when 'a'
|
44
44
|
# remove %PRO or PRO or %CHR or CHR
|
45
45
|
# remove any ? at the end
|
@@ -249,7 +249,7 @@ module PennMARC
|
|
249
249
|
vernacular: field.tag == '880' }
|
250
250
|
field.each do |subfield|
|
251
251
|
case subfield.code
|
252
|
-
when '0', '6', '8', '5'
|
252
|
+
when '0', '6', '8', '5', '7'
|
253
253
|
# explicitly ignore these subfields
|
254
254
|
next
|
255
255
|
when '1'
|
@@ -132,6 +132,8 @@ module PennMARC
|
|
132
132
|
# @return [String] title value for sorting
|
133
133
|
def sort(record)
|
134
134
|
title_field = record.fields('245').first
|
135
|
+
return unless title_field.present?
|
136
|
+
|
135
137
|
# attempt to get number of non-filing characters present, default to 0
|
136
138
|
offset = if /^[0-9]$/.match?(title_field.indicator2)
|
137
139
|
title_field.indicator2.to_i
|
@@ -1597,7 +1597,7 @@ vpfeatdvd:
|
|
1597
1597
|
vpfolio:
|
1598
1598
|
specific_location: Van Pelt - Folios
|
1599
1599
|
library: Van Pelt-Dietrich Library Center
|
1600
|
-
display: Van Pelt
|
1600
|
+
display: Van Pelt - Folios
|
1601
1601
|
vpjuv:
|
1602
1602
|
specific_location: Van Pelt - Notable Juvenile Books
|
1603
1603
|
library: Van Pelt-Dietrich Library Center
|
data/lib/pennmarc/version.rb
CHANGED
@@ -14,7 +14,8 @@ describe 'PennMARC::Subject' do
|
|
14
14
|
let(:fields) do
|
15
15
|
[marc_field(tag: '600', indicator2: '5', subfields: { a: 'Excluded Canadian' }),
|
16
16
|
marc_field(tag: '610', indicator2: '0', subfields: { a: 'University of Pennsylvania', b: 'Libraries' }),
|
17
|
-
marc_field(tag: '691', indicator2: '7', subfields: { a: 'Van Pelt Library', '2': 'local'
|
17
|
+
marc_field(tag: '691', indicator2: '7', subfields: { a: 'Van Pelt Library', '2': 'local',
|
18
|
+
'7': 'Heading derived magically.' }),
|
18
19
|
marc_field(tag: '696', indicator2: '4', subfields: { a: 'A Developer' }),
|
19
20
|
marc_field(tag: '880', indicator2: '0', subfields: { a: 'Alt. Name', '6': '610' })]
|
20
21
|
end
|
@@ -100,7 +101,7 @@ describe 'PennMARC::Subject' do
|
|
100
101
|
[marc_field(tag: '650', indicator2: '7',
|
101
102
|
subfields: {
|
102
103
|
a: 'Libraries,', d: '22nd Century,', x: 'History.', e: 'relator',
|
103
|
-
'2': 'fast', '0': 'http://fast.org/libraries'
|
104
|
+
'2': 'fast', '0': 'http://fast.org/libraries', '7': 'Heading derived magically.'
|
104
105
|
})]
|
105
106
|
end
|
106
107
|
|
@@ -117,6 +118,10 @@ describe 'PennMARC::Subject' do
|
|
117
118
|
expect(values.first).not_to include 'relator'
|
118
119
|
end
|
119
120
|
|
121
|
+
it 'excludes any values from ǂ7' do
|
122
|
+
expect(values.first).not_to include 'magically'
|
123
|
+
end
|
124
|
+
|
120
125
|
it 'includes active dates from ǂd' do
|
121
126
|
expect(values.first).to include '22nd Century'
|
122
127
|
end
|
@@ -209,6 +209,18 @@ describe 'PennMARC::Title' do
|
|
209
209
|
end
|
210
210
|
|
211
211
|
describe '.sort' do
|
212
|
+
context 'with no 245' do
|
213
|
+
let(:record) do
|
214
|
+
# Simulate a miscoded record
|
215
|
+
marc_record fields: [marc_field(tag: '246', indicator1: '1', indicator2: '4',
|
216
|
+
subfields: { a: 'The horn concertos', c: 'Mozart' })]
|
217
|
+
end
|
218
|
+
|
219
|
+
it 'returns nil' do
|
220
|
+
expect(helper.sort(record)).to be_nil
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
212
224
|
context 'with a record with a valid indicator2 value' do
|
213
225
|
let(:record) do
|
214
226
|
marc_record fields: [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pennmarc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Kanning
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2024-
|
15
|
+
date: 2024-10-29 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|