pennmarc 0.0.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -0
- data/.rubocop_todo.yml +151 -0
- data/Gemfile +1 -1
- data/lib/pennmarc/helpers/creator.rb +47 -13
- data/lib/pennmarc/helpers/database.rb +8 -8
- data/lib/pennmarc/helpers/date.rb +16 -15
- data/lib/pennmarc/helpers/edition.rb +14 -11
- data/lib/pennmarc/helpers/format.rb +16 -5
- data/lib/pennmarc/helpers/genre.rb +12 -11
- data/lib/pennmarc/helpers/identifier.rb +16 -7
- data/lib/pennmarc/helpers/language.rb +1 -1
- data/lib/pennmarc/helpers/link.rb +6 -0
- data/lib/pennmarc/helpers/location.rb +14 -14
- data/lib/pennmarc/helpers/note.rb +52 -2
- data/lib/pennmarc/helpers/relation.rb +9 -9
- data/lib/pennmarc/helpers/series.rb +182 -85
- data/lib/pennmarc/helpers/subject.rb +11 -11
- data/lib/pennmarc/helpers/title.rb +1 -1
- data/lib/pennmarc/parser.rb +2 -99
- data/lib/pennmarc/util.rb +11 -11
- data/pennmarc.gemspec +2 -2
- data/spec/lib/pennmarc/helpers/citation_spec.rb +1 -2
- data/spec/lib/pennmarc/helpers/creator_spec.rb +46 -11
- data/spec/lib/pennmarc/helpers/date_spec.rb +5 -5
- data/spec/lib/pennmarc/helpers/edition_spec.rb +1 -4
- data/spec/lib/pennmarc/helpers/format_spec.rb +29 -9
- data/spec/lib/pennmarc/helpers/genre_spec.rb +3 -3
- data/spec/lib/pennmarc/helpers/identifer_spec.rb +15 -0
- data/spec/lib/pennmarc/helpers/location_spec.rb +9 -8
- data/spec/lib/pennmarc/helpers/note_spec.rb +67 -2
- data/spec/lib/pennmarc/helpers/series_spec.rb +54 -0
- data/spec/lib/pennmarc/helpers/subject_spec.rb +8 -8
- data/spec/lib/pennmarc/helpers/title_spec.rb +3 -1
- data/spec/lib/pennmarc/marc_util_spec.rb +9 -8
- data/spec/lib/pennmarc/parser_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +7 -17
@@ -11,9 +11,9 @@ describe 'PennMARC::Location' do
|
|
11
11
|
let(:record) { marc_record(fields: [marc_field(tag: 'itm', subfields: { g: 'stor' })]) }
|
12
12
|
|
13
13
|
it 'returns expected value' do
|
14
|
-
expect(helper.location(record: record,
|
14
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
15
15
|
display_value: :library)).to contain_exactly('LIBRA')
|
16
|
-
expect(helper.location(record
|
16
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
17
17
|
display_value: 'specific_location')).to contain_exactly('LIBRA')
|
18
18
|
end
|
19
19
|
end
|
@@ -22,9 +22,9 @@ describe 'PennMARC::Location' do
|
|
22
22
|
let(:record) { marc_record(fields: [marc_field(tag: 'hld', subfields: { c: 'stor' })]) }
|
23
23
|
|
24
24
|
it 'returns expected value' do
|
25
|
-
expect(helper.location(record: record,
|
25
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
26
26
|
display_value: :library)).to contain_exactly('LIBRA')
|
27
|
-
expect(helper.location(record: record,
|
27
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
28
28
|
display_value: 'specific_location')).to contain_exactly('LIBRA')
|
29
29
|
end
|
30
30
|
end
|
@@ -34,8 +34,9 @@ describe 'PennMARC::Location' do
|
|
34
34
|
marc_record(fields: [marc_field(tag: 'itm', subfields: { g: 'stor' }),
|
35
35
|
marc_field(tag: 'hld', subfields: { c: 'dent' })])
|
36
36
|
end
|
37
|
+
|
37
38
|
it 'returns item location' do
|
38
|
-
expect(helper.location(record: record,
|
39
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
39
40
|
display_value: :library)).to contain_exactly('LIBRA')
|
40
41
|
end
|
41
42
|
end
|
@@ -44,7 +45,7 @@ describe 'PennMARC::Location' do
|
|
44
45
|
let(:record) { marc_record(fields: [marc_field(tag: 'itm', subfields: { g: %w[dent] })]) }
|
45
46
|
|
46
47
|
it 'returns expected value' do
|
47
|
-
expect(helper.location(record: record,
|
48
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
48
49
|
display_value: :library)).to contain_exactly('Health Sciences Libraries',
|
49
50
|
'Levy Dental Medicine Library')
|
50
51
|
end
|
@@ -54,7 +55,7 @@ describe 'PennMARC::Location' do
|
|
54
55
|
let(:record) { marc_record(fields: [marc_field(tag: '852', subfields: { g: 'stor' })]) }
|
55
56
|
|
56
57
|
it 'returns expected value' do
|
57
|
-
expect(helper.location(record: record,
|
58
|
+
expect(helper.location(record: record, location_mapping: mapping, display_value: :library)).to be_empty
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -62,7 +63,7 @@ describe 'PennMARC::Location' do
|
|
62
63
|
let(:record) { marc_record(fields: [marc_field(tag: 'itm', subfields: { g: 'stor' }), marc_field(tag: 'prt')]) }
|
63
64
|
|
64
65
|
it 'returns expected value' do
|
65
|
-
expect(helper.location(record: record,
|
66
|
+
expect(helper.location(record: record, location_mapping: mapping,
|
66
67
|
display_value: :library)).to contain_exactly('LIBRA', 'Online library')
|
67
68
|
end
|
68
69
|
end
|
@@ -199,7 +199,7 @@ describe 'PennMARC::Note' do
|
|
199
199
|
|
200
200
|
let(:fields) do
|
201
201
|
[
|
202
|
-
marc_field(tag: '545', subfields: { a: 'A Creator', b: 'Additional Info',
|
202
|
+
marc_field(tag: '545', subfields: { a: 'A Creator', b: 'Additional Info', u: 'URI' }),
|
203
203
|
marc_field(tag: '880', subfields: { a: 'Alt Bio', b: 'Alt Info', u: 'Alt URI', '6': '545' })
|
204
204
|
]
|
205
205
|
end
|
@@ -217,7 +217,7 @@ describe 'PennMARC::Note' do
|
|
217
217
|
|
218
218
|
let(:fields) do
|
219
219
|
[
|
220
|
-
marc_field(tag: '520', subfields: { a: 'An Abstract', b: 'Additional Summary',
|
220
|
+
marc_field(tag: '520', subfields: { a: 'An Abstract', b: 'Additional Summary', c: 'ProQuest' }),
|
221
221
|
marc_field(tag: '880', subfields: { a: 'Alt Abstract', b: 'Alt Additional Summary', c: 'Alt ProQuest',
|
222
222
|
'6': '520' })
|
223
223
|
]
|
@@ -229,5 +229,70 @@ describe 'PennMARC::Note' do
|
|
229
229
|
expect(values).to contain_exactly('An Abstract Additional Summary ProQuest',
|
230
230
|
'Alt Abstract Alt Additional Summary Alt ProQuest')
|
231
231
|
end
|
232
|
+
|
233
|
+
describe '.arrangement_show' do
|
234
|
+
let(:record) { marc_record(fields: fields) }
|
235
|
+
|
236
|
+
let(:fields) do
|
237
|
+
[
|
238
|
+
marc_field(tag: '351', subfields: { a: 'Organized into five subseries', b: 'Arrangement pattern', c: 'Series',
|
239
|
+
'3': 'materials' }),
|
240
|
+
marc_field(tag: '880', subfields: { a: 'Alt organization', b: 'Alt arrangement', c: 'Alt hierarchical level',
|
241
|
+
'3': 'Alt materials', '6': '351' })
|
242
|
+
]
|
243
|
+
end
|
244
|
+
|
245
|
+
let(:values) { helper.arrangement_show(record) }
|
246
|
+
|
247
|
+
it 'returns expected values from 351 and its linked alternate' do
|
248
|
+
expect(values).to contain_exactly('Organized into five subseries Arrangement pattern Series materials',
|
249
|
+
'Alt organization Alt arrangement Alt hierarchical level Alt materials')
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
describe '.system_details_show' do
|
254
|
+
let(:record) { marc_record(fields: fields) }
|
255
|
+
|
256
|
+
let(:fields) do
|
257
|
+
[
|
258
|
+
marc_field(tag: '538', subfields: { a: 'Blu-ray, region A, 1080p High Definition, full screen (1.33:1)',
|
259
|
+
i: 'display text for URI', u: 'http://www.universal.resource/locator ',
|
260
|
+
'3': ['Blu-ray disc.', '2015'] }),
|
261
|
+
marc_field(tag: '344', subfields: { a: 'digital', b: 'optical', c: '1.4 m/s', g: 'stereo',
|
262
|
+
h: 'digital recording', '3': 'audio disc' }),
|
263
|
+
marc_field(tag: '345', subfields: { a: '1 film reel (25 min.)', b: '24 fps', '3': 'Polyester print' }),
|
264
|
+
marc_field(tag: '346', subfields: { a: 'VHS', b: 'NTSC', '3': 'original videocassette' }),
|
265
|
+
marc_field(tag: '347', subfields: { a: 'video file', b: 'DVD video', e: 'region', '3': 'DVD' }),
|
266
|
+
marc_field(tag: '880', subfields: { a: 'Alt system details', i: 'Alternative display text', u: 'Alt URI',
|
267
|
+
'3': 'Alt materials.', '6': '538' }),
|
268
|
+
marc_field(tag: '880', subfields: { a: 'Alt recording', b: 'Alt medium', c: 'Alt playing speed',
|
269
|
+
g: 'Alt channel',
|
270
|
+
h: 'Alt characteristic', '3': 'Alt materials.',
|
271
|
+
'6': '344' }),
|
272
|
+
marc_field(tag: '880', subfields: { a: 'Alt presentation format', b: 'Alt projection speed',
|
273
|
+
'3': 'Alt materials.', '6': '345' }),
|
274
|
+
marc_field(tag: '880', subfields: { a: 'Alt video format', b: 'Alt broadcast', '3': 'Alt materials.',
|
275
|
+
'6': '346' }),
|
276
|
+
marc_field(tag: '880', subfields: { a: 'Alt file type', b: 'Alt encoding', '3': 'Alt materials.',
|
277
|
+
'6': 'Alt region' })
|
278
|
+
|
279
|
+
]
|
280
|
+
end
|
281
|
+
|
282
|
+
let(:values) { helper.system_details_show(record) }
|
283
|
+
|
284
|
+
it 'returns expected from 5xx and 3xx fields and their linked alternates' do
|
285
|
+
expect(values).to contain_exactly(
|
286
|
+
'Blu-ray disc: 2015 Blu-ray, region A, 1080p High Definition, full screen (1.33:1) display
|
287
|
+
text for URI http://www.universal.resource/locator'.squish,
|
288
|
+
'audio disc digital optical 1.4 m/s stereo digital recording', 'Polyester print 1 film reel (25 min.) 24 fps',
|
289
|
+
'original videocassette VHS NTSC', 'DVD video file DVD video region',
|
290
|
+
'Alt materials Alt system details Alternative display text Alt URI',
|
291
|
+
'Alt materials Alt recording Alt medium Alt playing speed Alt channel Alt characteristic',
|
292
|
+
'Alt materials Alt presentation format Alt projection speed',
|
293
|
+
'Alt materials Alt video format Alt broadcast'
|
294
|
+
)
|
295
|
+
end
|
296
|
+
end
|
232
297
|
end
|
233
298
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe 'PennMARC::Series' do
|
4
|
+
include MarcSpecHelpers
|
5
|
+
|
6
|
+
let(:helper) { PennMARC::Series }
|
7
|
+
let(:mapping) { { aut: 'Author' } }
|
8
|
+
let(:record) do
|
9
|
+
marc_record fields: [marc_field(tag: '490', subfields: { a: 'Teachings of the feathered pillow' }),
|
10
|
+
marc_field(tag: '880', subfields: { '6': '490', a: 'Учения пернатой подушки' }),
|
11
|
+
marc_field(tag: '800', subfields: { a: 'Bean Bagatolvski', d: '1997-', v: 'bk. 1' }),
|
12
|
+
marc_field(tag: '780', subfields: { a: 'National Comfort Association' }),
|
13
|
+
marc_field(tag: '785', subfields: { a: 'NCA quarterly comfortology bulletin' })]
|
14
|
+
end
|
15
|
+
let(:empty_record) do
|
16
|
+
marc_record fields: [marc_field(tag: '666', subfields: { a: 'test' })]
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.show' do
|
20
|
+
it 'returns the series' do
|
21
|
+
expect(helper.show(record, mapping)).to contain_exactly('Bean Bagatolvski 1997- bk. 1',
|
22
|
+
'Teachings of the feathered pillow',
|
23
|
+
'Учения пернатой подушки')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.values' do
|
28
|
+
it 'returns the values' do
|
29
|
+
expect(helper.values(record, mapping)).to contain_exactly('Bean Bagatolvski 1997- bk. 1.')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '.search' do
|
34
|
+
it 'returns the search values' do
|
35
|
+
expect(helper.search(record)).to contain_exactly('Bean Bagatolvski 1997- bk. 1')
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'returns an empty array if no values are found' do
|
39
|
+
expect(helper.search(empty_record)).to be_empty
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '.get_continues_display' do
|
44
|
+
it 'gets continues for display' do
|
45
|
+
expect(helper.get_continues_display(record)).to contain_exactly('National Comfort Association')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '.get_continued_by_display' do
|
50
|
+
it 'gets continued by display' do
|
51
|
+
expect(helper.get_continued_by_display(record)).to contain_exactly('NCA quarterly comfortology bulletin')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -61,11 +61,11 @@ describe 'PennMARC::Subject' do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
describe '.facet' do
|
64
|
-
let(:record) { marc_record fields: }
|
64
|
+
let(:record) { marc_record fields: fields }
|
65
65
|
let(:values) { helper.facet(record) }
|
66
66
|
|
67
67
|
# TODO: find some more inspiring examples in the corpus
|
68
|
-
context '
|
68
|
+
context 'with a record with poorly-coded heading values' do
|
69
69
|
let(:fields) { [marc_field(tag: '650', indicator2: '0', subfields: { a: 'Subject - Heading' })] }
|
70
70
|
|
71
71
|
it 'properly normalizes the heading value' do
|
@@ -73,7 +73,7 @@ describe 'PennMARC::Subject' do
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
context '
|
76
|
+
context 'with a record with 650 headings with a ǂa that starts with PRO or CHR' do
|
77
77
|
let(:fields) do
|
78
78
|
[marc_field(tag: '650', indicator2: '4', subfields: { a: '%CHR 1998', '5': 'PU' }),
|
79
79
|
marc_field(tag: '650', indicator2: '4', subfields: { a: 'PRO Potok, Adena (donor) (Potok Collection copy)',
|
@@ -85,7 +85,7 @@ describe 'PennMARC::Subject' do
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
context '
|
88
|
+
context 'with a record with an indicator2 value of 3, 5 or 6' do
|
89
89
|
let(:fields) do
|
90
90
|
[marc_field(tag: '650', indicator2: '3', subfields: { a: 'Nope' }),
|
91
91
|
marc_field(tag: '650', indicator2: '5', subfields: { a: 'Nope' }),
|
@@ -97,7 +97,7 @@ describe 'PennMARC::Subject' do
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
context '
|
100
|
+
context 'with a record with a valid tag, indicator2 and source specified' do
|
101
101
|
let(:fields) do
|
102
102
|
[marc_field(tag: '650', indicator2: '7',
|
103
103
|
subfields: {
|
@@ -129,7 +129,7 @@ describe 'PennMARC::Subject' do
|
|
129
129
|
end
|
130
130
|
|
131
131
|
describe '.show' do
|
132
|
-
let(:record) { marc_record fields: }
|
132
|
+
let(:record) { marc_record fields: fields }
|
133
133
|
let(:values) { helper.facet(record) }
|
134
134
|
|
135
135
|
context 'with a variety of headings' do
|
@@ -145,8 +145,8 @@ describe 'PennMARC::Subject' do
|
|
145
145
|
end
|
146
146
|
|
147
147
|
it 'shows all valid subject headings without duplicates' do
|
148
|
-
expect(helper.show(record)).to
|
149
|
-
|
148
|
+
expect(helper.show(record)).to contain_exactly('Nephrology--Periodicals', 'Nephrology', 'Kidney Diseases',
|
149
|
+
'Local Heading')
|
150
150
|
end
|
151
151
|
end
|
152
152
|
|
@@ -20,7 +20,9 @@ describe 'PennMARC::Title' do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
describe '.search_aux' do
|
24
|
+
it 'returns search aux values', pending: 'Not implemented yet'
|
25
|
+
end
|
24
26
|
|
25
27
|
describe '.show' do
|
26
28
|
let(:record) { marc_record fields: [marc_field(tag: '245', subfields: subfields)] }
|
@@ -20,11 +20,11 @@ describe 'PennMARC::Util' do
|
|
20
20
|
let(:field) { marc_field subfields: { a: '123' } }
|
21
21
|
|
22
22
|
it 'returns true if the specified subfield value matches the regex' do
|
23
|
-
expect(util.
|
23
|
+
expect(util).to be_subfield_value(field, 'a', /123/)
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'returns false if the subfield value does not match the regex' do
|
27
|
-
expect(util.
|
27
|
+
expect(util).not_to be_subfield_value(field, 'a', /\D/)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -66,12 +66,12 @@ describe 'PennMARC::Util' do
|
|
66
66
|
let(:field) { marc_field subfields: { a: 'Defined' } }
|
67
67
|
|
68
68
|
it 'returns true if subfield is present on a field' do
|
69
|
-
expect(util.
|
70
|
-
expect(util.
|
69
|
+
expect(util).to be_subfield_defined(field, :a)
|
70
|
+
expect(util).to be_subfield_defined(field, 'a')
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'returns false if a subfield is not present on a field' do
|
74
|
-
expect(util.
|
74
|
+
expect(util).not_to be_subfield_defined(field, :b)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -79,12 +79,12 @@ describe 'PennMARC::Util' do
|
|
79
79
|
let(:field) { marc_field subfields: { a: 'Defined' } }
|
80
80
|
|
81
81
|
it 'returns true if subfield is not present on a field' do
|
82
|
-
expect(util.
|
83
|
-
expect(util.
|
82
|
+
expect(util).to be_subfield_undefined(field, :b)
|
83
|
+
expect(util).to be_subfield_undefined(field, 'b')
|
84
84
|
end
|
85
85
|
|
86
86
|
it 'returns false if a subfield is present on a field' do
|
87
|
-
expect(util.
|
87
|
+
expect(util).not_to be_subfield_undefined(field, :a)
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
@@ -173,6 +173,7 @@ describe 'PennMARC::Util' do
|
|
173
173
|
|
174
174
|
describe '.remove_paren_value_from_subfield_i' do
|
175
175
|
let(:field) { marc_field(tag: '666', subfields: { i: 'Test(Remove).' }) }
|
176
|
+
|
176
177
|
it 'removes the parentheses value from subfield i' do
|
177
178
|
expect(util.remove_paren_value_from_subfield_i(field)).to eq('Test')
|
178
179
|
end
|
@@ -3,10 +3,10 @@
|
|
3
3
|
describe PennMARC::Parser do
|
4
4
|
include MarcSpecHelpers
|
5
5
|
|
6
|
-
let(:record) { record_from 'test.xml' }
|
7
|
-
|
8
6
|
subject(:parser) { described_class.new }
|
9
7
|
|
8
|
+
let(:record) { record_from 'test.xml' }
|
9
|
+
|
10
10
|
it 'delegates to helper modules properly' do
|
11
11
|
expect { parser.title_show(record) }.not_to raise_exception
|
12
12
|
end
|
data/spec/spec_helper.rb
CHANGED
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: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Kanning
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-07-
|
13
|
+
date: 2023-07-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -68,20 +68,6 @@ dependencies:
|
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '1.15'
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rspec
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '3.12'
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - "~>"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '3.12'
|
85
71
|
description: |-
|
86
72
|
This gem provides methods for parsing a Penn Libraries MARCXML record into string, array and date
|
87
73
|
objects for use in discovery or preservation applications.
|
@@ -92,6 +78,8 @@ extra_rdoc_files: []
|
|
92
78
|
files:
|
93
79
|
- ".gitignore"
|
94
80
|
- ".rspec"
|
81
|
+
- ".rubocop.yml"
|
82
|
+
- ".rubocop_todo.yml"
|
95
83
|
- ".ruby-version"
|
96
84
|
- Gemfile
|
97
85
|
- Gemfile.lock
|
@@ -141,6 +129,7 @@ files:
|
|
141
129
|
- spec/lib/pennmarc/helpers/note_spec.rb
|
142
130
|
- spec/lib/pennmarc/helpers/production_spec.rb
|
143
131
|
- spec/lib/pennmarc/helpers/relation_spec.rb
|
132
|
+
- spec/lib/pennmarc/helpers/series_spec.rb
|
144
133
|
- spec/lib/pennmarc/helpers/subject_spec.rb
|
145
134
|
- spec/lib/pennmarc/helpers/title_spec.rb
|
146
135
|
- spec/lib/pennmarc/marc_util_spec.rb
|
@@ -150,7 +139,8 @@ files:
|
|
150
139
|
homepage: https://gitlab.library.upenn.edu/dld/catalog/pennmarc
|
151
140
|
licenses:
|
152
141
|
- MIT
|
153
|
-
metadata:
|
142
|
+
metadata:
|
143
|
+
rubygems_mfa_required: 'true'
|
154
144
|
post_install_message:
|
155
145
|
rdoc_options: []
|
156
146
|
require_paths:
|