pennmarc 1.2.2 → 1.2.4

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: c48634bf726b824f79d9682b82973af5223035ff6e0a999ffb0a83d26f338893
4
- data.tar.gz: 4b874bd557519dd16a898faaa4c74ef6415b0b489fbf1ed2082fb1956c4cfaa4
3
+ metadata.gz: fc24e1fe4c30a2cf49fe06d466deaff8ac61677b69b3ce673cebfb3729282ed7
4
+ data.tar.gz: cb7d013328a775f8c09d79cb4400374c4bb5ef5b97056e19c595d29707440469
5
5
  SHA512:
6
- metadata.gz: 88c102ca50391a3f48076c626bdca735612ddc0ca33eb93c11b4268de1c896c90e12d342080c5a254a07267659f7855cc4ef2dc4ed03a329b57e313754cb6589
7
- data.tar.gz: 3c02ea8c8e60fb51b89cdc55f4f7329602cf3d5af20434dda37b181f0db527bce20d4fdaf6fe0383d2f26c9a910d49935ffa0173c832d35c57837e446bca82b4
6
+ metadata.gz: 15de4dca697023774cdbde7cfd805fab906c21f56d39824539204b796e0e25cac86415c971a73ec7c8bd8e6c9983fa8f9edb0231cbb942ef8880dfd7c968ad6c
7
+ data.tar.gz: a0d344dae1edbb7d7d4cd57ce698dd04007dfc30af9a981ff0db8708c5f1afe1b55347ec62ab4f544b51d5e187a95a945584d3c593f58f48804b691b384692b3
@@ -43,7 +43,8 @@ module PennMARC
43
43
  }.uniq
44
44
  end
45
45
 
46
- # Genre values for faceting. We only set Genre facet values for movies (videos) and manuscripts(?)
46
+ # Genre values for faceting. We only set Genre facet values for movies (videos) and manuscripts(?), and ensure
47
+ # that the headings come from our set of approved ontologies.
47
48
  # @todo the Genre facet in Franklin is pretty ugly. It could be cleaned up by limiting the subfields included
48
49
  # here and cleaning up punctuation.
49
50
  # @param record [MARC::Record]
@@ -55,6 +56,8 @@ module PennMARC
55
56
  return [] unless manuscript || video
56
57
 
57
58
  record.fields('655').filter_map { |field|
59
+ next unless allowed_genre_field?(field)
60
+
58
61
  join_subfields field, &subfield_not_in?(%w[0 2 5 c])
59
62
  }.uniq
60
63
  end
@@ -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'
@@ -32,6 +32,9 @@ module PennMARC
32
32
  # This text is used in Alma to indicate a Bib record is a "Host" record for other bibs (bound-withs)
33
33
  HOST_BIB_TITLE = 'Host bibliographic record for boundwith'
34
34
 
35
+ # Title to use when no 245 field is present. This "shouldn't" occur, but it does.
36
+ NO_TITLE_PROVIDED = '[No title provided]'
37
+
35
38
  class << self
36
39
  # Main Title Search field. Takes from {https://www.loc.gov/marc/bibliographic/bd245.html 245} and linked 880.
37
40
  # @note Ported from get_title_1_search_values.
@@ -93,6 +96,8 @@ module PennMARC
93
96
  # @return [String] single title for display
94
97
  def show(record)
95
98
  field = record.fields('245')&.first
99
+ return Array.wrap(NO_TITLE_PROVIDED) unless field.present?
100
+
96
101
  values = title_values(field)
97
102
  [format_title(values[:title_or_form]), values[:punctuation], values[:other_info]].compact_blank.join(' ')
98
103
  end
@@ -592,6 +592,12 @@ dentshils:
592
592
  - Health Sciences Libraries
593
593
  - Levy Dental Medicine Library
594
594
  display: Levy Dental Medicine Library - Shils Boardroom
595
+ dentwellrm:
596
+ specific_location: Levy Dental Medicine Library - Wellness Room
597
+ library:
598
+ - Health Sciences Libraries
599
+ - Levy Dental Medicine Library
600
+ display: Levy Dental Medicine Library - Wellness Room
595
601
  dncirc:
596
602
  specific_location: Levy Dental Medicine Library - Circulation
597
603
  library:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PennMARC
4
- VERSION = '1.2.2'
4
+ VERSION = '1.2.4'
5
5
  end
@@ -47,7 +47,7 @@ describe 'PennMARC::Genre' do
47
47
  let(:fields) do
48
48
  [marc_control_field(tag: '007', value: 'x'),
49
49
  marc_field(tag: 'hld', subfields: { c: 'vanp' }),
50
- marc_field(tag: '655', indicator2: '7', subfields: { a: 'Genre.' })]
50
+ marc_field(tag: '655', indicator2: '0', subfields: { a: 'Genre.' })]
51
51
  end
52
52
 
53
53
  it 'returns no genre values for faceting' do
@@ -59,11 +59,13 @@ describe 'PennMARC::Genre' do
59
59
  let(:fields) do
60
60
  [marc_control_field(tag: '007', value: 'v'),
61
61
  marc_field(tag: 'hld', subfields: { c: 'vanp' }),
62
- marc_field(tag: '655', indicator2: '7', subfields: { a: 'Documentary films' }),
63
- marc_field(tag: '655', indicator2: '7', subfields: { a: 'Sports' })]
62
+ marc_field(tag: '655', indicator2: '0', subfields: { a: 'Documentary films' }),
63
+ marc_field(tag: '655', indicator2: '7', subfields: { a: 'Sports', '2': 'fast' }),
64
+ marc_field(tag: '655', indicator2: '7', subfields: { a: 'Le cyclisme', '2': 'qlsp' }), # excluded due to sf2
65
+ marc_field(tag: '655', indicator2: '1', subfields: { a: 'Shredding' })] # excluded, invalid indicator value
64
66
  end
65
67
 
66
- it 'contains the expected genre facet values' do
68
+ it 'contains only the desired genre facet values' do
67
69
  expect(values).to contain_exactly 'Documentary films', 'Sports'
68
70
  end
69
71
  end
@@ -72,7 +74,7 @@ describe 'PennMARC::Genre' do
72
74
  let(:record) { marc_record fields: fields, leader: ' t' }
73
75
  let(:fields) do
74
76
  [marc_control_field(tag: '007', value: 'x'),
75
- marc_field(tag: '655', indicator2: '7', subfields: { a: 'Astronomy', '2': 'zzzz' })]
77
+ marc_field(tag: '655', indicator2: '7', subfields: { a: 'Astronomy', '2': 'fast' })]
76
78
  end
77
79
 
78
80
  it 'returns the expected genre values' do
@@ -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
@@ -2,13 +2,14 @@
2
2
 
3
3
  describe 'PennMARC::Title' do
4
4
  let(:helper) { PennMARC::Title }
5
+ let(:leader) { nil }
6
+ let(:fields) { [marc_field(tag: '245', subfields: subfields)] }
7
+ let(:record) { marc_record fields: fields, leader: leader }
5
8
 
6
9
  describe '.search' do
7
- let(:record) do
8
- marc_record fields: [
9
- marc_field(tag: '245', subfields: { a: 'Title', b: 'Subtitle', c: 'Responsibility', h: 'Medium' }),
10
- marc_field(tag: '880', subfields: { a: 'Linked Title', '6': '245' })
11
- ]
10
+ let(:fields) do
11
+ [marc_field(tag: '245', subfields: { a: 'Title', b: 'Subtitle', c: 'Responsibility', h: 'Medium' }),
12
+ marc_field(tag: '880', subfields: { a: 'Linked Title', '6': '245' })]
12
13
  end
13
14
 
14
15
  it 'returns search values without ǂc or ǂh content' do
@@ -20,16 +21,14 @@ describe 'PennMARC::Title' do
20
21
 
21
22
  describe '.search_aux' do
22
23
  let(:leader) { 'ZZZZZnaaZa22ZZZZZzZZ4500' }
23
- let(:record) do
24
- marc_record fields: [
25
- marc_field(tag: '130', subfields: { a: 'Uniform Title', c: '130 not included' }),
26
- marc_field(tag: '880', subfields: { '6': '130', a: 'Alternative Uniform Title' }),
27
- marc_field(tag: '773', subfields: { a: 'Host Uniform Title', s: '773 not included' }),
28
- marc_field(tag: '700', subfields: { t: 'Personal Entry Title', s: '700 not included' }),
29
- marc_field(tag: '505', subfields: { t: 'Invalid Formatted Contents Note Title' }, indicator1: 'invalid'),
30
- marc_field(tag: '505', subfields: { t: 'Formatted Contents Note Title', s: '505 not included' },
31
- indicator1: '0', indicator2: '0')
32
- ], leader: leader
24
+ let(:fields) do
25
+ [marc_field(tag: '130', subfields: { a: 'Uniform Title', c: '130 not included' }),
26
+ marc_field(tag: '880', subfields: { '6': '130', a: 'Alternative Uniform Title' }),
27
+ marc_field(tag: '773', subfields: { a: 'Host Uniform Title', s: '773 not included' }),
28
+ marc_field(tag: '700', subfields: { t: 'Personal Entry Title', s: '700 not included' }),
29
+ marc_field(tag: '505', subfields: { t: 'Invalid Formatted Contents Note Title' }, indicator1: 'invalid'),
30
+ marc_field(tag: '505', subfields: { t: 'Formatted Contents Note Title', s: '505 not included' },
31
+ indicator1: '0', indicator2: '0')]
33
32
  end
34
33
 
35
34
  it 'returns auxiliary titles' do
@@ -51,12 +50,10 @@ describe 'PennMARC::Title' do
51
50
 
52
51
  describe '.journal_search' do
53
52
  let(:leader) { 'ZZZZZnasZa22ZZZZZzZZ4500' }
54
- let(:record) do
55
- marc_record fields: [
56
- marc_field(tag: '245', subfields: { a: 'Some Journal Title' }),
57
- marc_field(tag: '880', subfields: { a: 'Alternative Script', '6': '245' }),
58
- marc_field(tag: '880', subfields: { a: 'Unrelated 880', '6': 'invalid' })
59
- ], leader: leader
53
+ let(:fields) do
54
+ [marc_field(tag: '245', subfields: { a: 'Some Journal Title' }),
55
+ marc_field(tag: '880', subfields: { a: 'Alternative Script', '6': '245' }),
56
+ marc_field(tag: '880', subfields: { a: 'Unrelated 880', '6': 'invalid' })]
60
57
  end
61
58
 
62
59
  it 'returns journal search titles' do
@@ -74,16 +71,14 @@ describe 'PennMARC::Title' do
74
71
 
75
72
  describe '.journal_search_aux' do
76
73
  let(:leader) { 'ZZZZZnasZa22ZZZZZzZZ4500' }
77
- let(:record) do
78
- marc_record fields: [
79
- marc_field(tag: '130', subfields: { a: 'Uniform Title', c: '130 not included' }),
80
- marc_field(tag: '880', subfields: { '6': '130', a: 'Alternative Uniform Title' }),
81
- marc_field(tag: '773', subfields: { a: 'Host Uniform Title', s: '773 not included' }),
82
- marc_field(tag: '700', subfields: { t: 'Personal Entry Title', s: '700 not included' }),
83
- marc_field(tag: '505', subfields: { t: 'Invalid Formatted Contents Note Title' }, indicator1: 'invalid'),
84
- marc_field(tag: '505', subfields: { t: 'Formatted Contents Note Title', s: '505 not included' },
85
- indicator1: '0', indicator2: '0')
86
- ], leader: leader
74
+ let(:fields) do
75
+ [marc_field(tag: '130', subfields: { a: 'Uniform Title', c: '130 not included' }),
76
+ marc_field(tag: '880', subfields: { '6': '130', a: 'Alternative Uniform Title' }),
77
+ marc_field(tag: '773', subfields: { a: 'Host Uniform Title', s: '773 not included' }),
78
+ marc_field(tag: '700', subfields: { t: 'Personal Entry Title', s: '700 not included' }),
79
+ marc_field(tag: '505', subfields: { t: 'Invalid Formatted Contents Note Title' }, indicator1: 'invalid'),
80
+ marc_field(tag: '505', subfields: { t: 'Formatted Contents Note Title', s: '505 not included' },
81
+ indicator1: '0', indicator2: '0')]
87
82
  end
88
83
 
89
84
  it 'returns auxiliary journal search titles' do
@@ -102,9 +97,19 @@ describe 'PennMARC::Title' do
102
97
  end
103
98
 
104
99
  describe '.show' do
105
- let(:record) { marc_record fields: [marc_field(tag: '245', subfields: subfields)] }
100
+ context 'with no 245' do
101
+ let(:fields) do
102
+ # Simulate a miscoded record
103
+ [marc_field(tag: '246', indicator1: '1', indicator2: '4', subfields: { a: 'The horn concertos', c: 'Mozart' })]
104
+ end
105
+
106
+ it 'returns default title' do
107
+ expect(helper.show(record)).to eq [PennMARC::Title::NO_TITLE_PROVIDED]
108
+ end
109
+ end
106
110
 
107
111
  context 'with ǂa, ǂk and ǂn defined' do
112
+ let(:fields) { [marc_field(tag: '245', subfields: subfields)] }
108
113
  let(:subfields) { { a: 'Five Decades of MARC usage', k: 'journals', n: 'Part One' } }
109
114
 
110
115
  it 'returns single title value with text from ǂa and ǂn but not ǂk' do
@@ -113,6 +118,7 @@ describe 'PennMARC::Title' do
113
118
  end
114
119
 
115
120
  context 'with no ǂa but a ǂk and ǂn defined' do
121
+ let(:fields) { [marc_field(tag: '245', subfields: subfields)] }
116
122
  let(:subfields) { { k: 'journals', n: 'Part One' } }
117
123
 
118
124
  it 'returns single title value with text from ǂk and ǂn' do
@@ -140,10 +146,8 @@ describe 'PennMARC::Title' do
140
146
 
141
147
  describe '.detailed_show' do
142
148
  context 'with subfields ǂk, ǂf and ǂc' do
143
- let(:record) do
144
- marc_record fields: [
145
- marc_field(tag: '245', subfields: { k: 'Letters,', f: '1972-1982,', b: 'to Lewis Mumford.' })
146
- ]
149
+ let(:fields) do
150
+ [marc_field(tag: '245', subfields: { k: 'Letters,', f: '1972-1982,', b: 'to Lewis Mumford.' })]
147
151
  end
148
152
 
149
153
  it 'returns detailed title values' do
@@ -152,10 +156,8 @@ describe 'PennMARC::Title' do
152
156
  end
153
157
 
154
158
  context 'with subfields ǂk and ǂb' do
155
- let(:record) do
156
- marc_record fields: [
157
- marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford.' })
158
- ]
159
+ let(:fields) do
160
+ [marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford.' })]
159
161
  end
160
162
 
161
163
  it 'returns title value without dates' do
@@ -165,12 +167,10 @@ describe 'PennMARC::Title' do
165
167
 
166
168
  # e.g., 9977704838303681
167
169
  context 'with ǂa containing an " : " as well as inclusive dates' do
168
- let(:record) do
169
- marc_record fields: [
170
- marc_field(tag: '245', subfields: { a: 'The frugal housewife : ',
171
- b: 'dedicated to those who are not ashamed of economy, ',
172
- f: '1830 / ', c: 'by the author of Hobomok.' })
173
- ]
170
+ let(:fields) do
171
+ [marc_field(tag: '245', subfields: { a: 'The frugal housewife : ',
172
+ b: 'dedicated to those who are not ashamed of economy, ',
173
+ f: '1830 / ', c: 'by the author of Hobomok.' })]
174
174
  end
175
175
 
176
176
  it 'returns single title value with text from ǂa and ǂn' do
@@ -182,11 +182,9 @@ describe 'PennMARC::Title' do
182
182
  end
183
183
 
184
184
  describe '.alternate_show' do
185
- let(:record) do
186
- marc_record fields: [
187
- marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford. ' }),
188
- marc_field(tag: '880', subfields: { '6': '245', k: 'Lettres', b: 'à Lewis Mumford.' })
189
- ]
185
+ let(:fields) do
186
+ [marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford. ' }),
187
+ marc_field(tag: '880', subfields: { '6': '245', k: 'Lettres', b: 'à Lewis Mumford.' })]
190
188
  end
191
189
 
192
190
  context 'with subfields ǂk and ǂb' do
@@ -196,10 +194,8 @@ describe 'PennMARC::Title' do
196
194
  end
197
195
 
198
196
  context 'when 880 field is not present' do
199
- let(:record) do
200
- marc_record fields: [
201
- marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford. ' })
202
- ]
197
+ let(:fields) do
198
+ [marc_field(tag: '245', subfields: { k: 'Letters', b: 'to Lewis Mumford. ' })]
203
199
  end
204
200
 
205
201
  it 'returns nil' do
@@ -210,10 +206,9 @@ describe 'PennMARC::Title' do
210
206
 
211
207
  describe '.sort' do
212
208
  context 'with no 245' do
213
- let(:record) do
209
+ let(:fields) do
214
210
  # Simulate a miscoded record
215
- marc_record fields: [marc_field(tag: '246', indicator1: '1', indicator2: '4',
216
- subfields: { a: 'The horn concertos', c: 'Mozart' })]
211
+ [marc_field(tag: '246', indicator1: '1', indicator2: '4', subfields: { a: 'The horn concertos', c: 'Mozart' })]
217
212
  end
218
213
 
219
214
  it 'returns nil' do
@@ -222,14 +217,12 @@ describe 'PennMARC::Title' do
222
217
  end
223
218
 
224
219
  context 'with a record with a valid indicator2 value' do
225
- let(:record) do
226
- marc_record fields: [
227
- marc_field(tag: '245', indicator2: '4', subfields: {
228
- a: 'The Record Title',
229
- b: 'Remainder', n: 'Number', p: 'Section',
230
- h: 'Do not display'
231
- })
232
- ]
220
+ let(:fields) do
221
+ [marc_field(tag: '245', indicator2: '4', subfields: {
222
+ a: 'The Record Title',
223
+ b: 'Remainder', n: 'Number', p: 'Section',
224
+ h: 'Do not display'
225
+ })]
233
226
  end
234
227
 
235
228
  it 'properly removes and appends the number of characters specified in indicator 2' do
@@ -244,8 +237,8 @@ describe 'PennMARC::Title' do
244
237
  end
245
238
 
246
239
  context 'with a record with no indicator2 value' do
247
- let(:record) do
248
- marc_record fields: [marc_field(tag: '245', subfields: { a: 'The Record Title' })]
240
+ let(:fields) do
241
+ [marc_field(tag: '245', subfields: { a: 'The Record Title' })]
249
242
  end
250
243
 
251
244
  it 'does not transform the title value' do
@@ -254,9 +247,7 @@ describe 'PennMARC::Title' do
254
247
  end
255
248
 
256
249
  context 'with a record with no ǂa and no indicator2 value' do
257
- let(:record) do
258
- marc_record fields: [marc_field(tag: '245', subfields: { k: 'diaries' })]
259
- end
250
+ let(:fields) { [marc_field(tag: '245', subfields: { k: 'diaries' })] }
260
251
 
261
252
  it 'uses ǂk (form) value without transformation' do
262
253
  expect(helper.sort(record)).to eq 'diaries'
@@ -264,9 +255,7 @@ describe 'PennMARC::Title' do
264
255
  end
265
256
 
266
257
  context 'with a record with a leading bracket' do
267
- let(:record) do
268
- marc_record fields: [marc_field(tag: '245', subfields: { a: '[The Record Title]' })]
269
- end
258
+ let(:fields) { [marc_field(tag: '245', subfields: { a: '[The Record Title]' })] }
270
259
 
271
260
  # TODO: is this the expected behavior? It would sort right, but looks silly.
272
261
  it 'removes the leading bracket and appends it to the full value' do
@@ -276,17 +265,15 @@ describe 'PennMARC::Title' do
276
265
  end
277
266
 
278
267
  describe '.standardized_show' do
279
- let(:record) do
280
- marc_record fields: [
281
- marc_field(tag: '130', subfields: { a: 'Uniform Title', f: '2000', '8': 'Not Included' }),
282
- marc_field(tag: '240', subfields: { a: 'Another Uniform Title', '0': 'Ugly Control Number' }),
283
- marc_field(tag: '730', indicator2: '', subfields: { a: 'Yet Another Uniform Title' }),
284
- marc_field(tag: '730', indicator1: '0', indicator2: '2', subfields: { a: 'Not Printed Title' }),
285
- marc_field(tag: '730', indicator1: '', subfields: { i: 'Subfield i Title' }),
286
- marc_field(tag: '880', subfields: { '6': '240', a: 'Translated Uniform Title' }),
287
- marc_field(tag: '880', subfields: { '6': '730', a: 'Alt Ignore', i: 'Alt Subfield i' }),
288
- marc_field(tag: '880', subfields: { '6': '100', a: 'Alt Ignore' })
289
- ]
268
+ let(:fields) do
269
+ [marc_field(tag: '130', subfields: { a: 'Uniform Title', f: '2000', '8': 'Not Included' }),
270
+ marc_field(tag: '240', subfields: { a: 'Another Uniform Title', '0': 'Ugly Control Number' }),
271
+ marc_field(tag: '730', indicator2: '', subfields: { a: 'Yet Another Uniform Title' }),
272
+ marc_field(tag: '730', indicator1: '0', indicator2: '2', subfields: { a: 'Not Printed Title' }),
273
+ marc_field(tag: '730', indicator1: '', subfields: { i: 'Subfield i Title' }),
274
+ marc_field(tag: '880', subfields: { '6': '240', a: 'Translated Uniform Title' }),
275
+ marc_field(tag: '880', subfields: { '6': '730', a: 'Alt Ignore', i: 'Alt Subfield i' }),
276
+ marc_field(tag: '880', subfields: { '6': '100', a: 'Alt Ignore' })]
290
277
  end
291
278
 
292
279
  it 'returns the expected standardized title display values' do
@@ -299,13 +286,11 @@ describe 'PennMARC::Title' do
299
286
  end
300
287
 
301
288
  describe '.other_show' do
302
- let(:record) do
303
- marc_record fields: [
304
- marc_field(tag: '246', subfields: { a: 'Varied Title', f: '2000', '8': 'Not Included' }),
305
- marc_field(tag: '740', indicator2: '0', subfields: { a: 'Uncontrolled Title', '5': 'Penn' }),
306
- marc_field(tag: '740', indicator2: '2', subfields: { a: 'A Title We Do Not Like' }),
307
- marc_field(tag: '880', subfields: { '6': '246', a: 'Alternate Varied Title' })
308
- ]
289
+ let(:fields) do
290
+ [marc_field(tag: '246', subfields: { a: 'Varied Title', f: '2000', '8': 'Not Included' }),
291
+ marc_field(tag: '740', indicator2: '0', subfields: { a: 'Uncontrolled Title', '5': 'Penn' }),
292
+ marc_field(tag: '740', indicator2: '2', subfields: { a: 'A Title We Do Not Like' }),
293
+ marc_field(tag: '880', subfields: { '6': '246', a: 'Alternate Varied Title' })]
309
294
  end
310
295
 
311
296
  it 'returns the expected other title display values' do
@@ -316,11 +301,9 @@ describe 'PennMARC::Title' do
316
301
  end
317
302
 
318
303
  describe '.former_show' do
319
- let(:record) do
320
- marc_record fields: [
321
- marc_field(tag: '247', subfields: { a: 'Former Title', n: 'Part', '6': 'Linkage', e: 'Append' }),
322
- marc_field(tag: '880', subfields: { a: 'Alt Title', n: 'Part', '6': '247' })
323
- ]
304
+ let(:fields) do
305
+ [marc_field(tag: '247', subfields: { a: 'Former Title', n: 'Part', '6': 'Linkage', e: 'Append' }),
306
+ marc_field(tag: '880', subfields: { a: 'Alt Title', n: 'Part', '6': '247' })]
324
307
  end
325
308
 
326
309
  it 'returns the expected former title value' do
@@ -331,7 +314,7 @@ describe 'PennMARC::Title' do
331
314
  end
332
315
 
333
316
  describe '.host_bib_record?' do
334
- let(:record) { marc_record fields: [marc_field(tag: '245', subfields: subfields)] }
317
+ let(:fields) { [marc_field(tag: '245', subfields: subfields)] }
335
318
 
336
319
  context 'with a host record' do
337
320
  let(:subfields) { { a: "#{PennMARC::Title::HOST_BIB_TITLE} for 123456789" } }
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.2
4
+ version: 1.2.4
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-10-28 00:00:00.000000000 Z
15
+ date: 2024-12-03 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport