pennmarc 1.0.31 → 1.0.32

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.
@@ -6,7 +6,7 @@ module PennMARC
6
6
  class << self
7
7
  # Get Alma MMS ID value
8
8
  #
9
- # @param [MARC::Record] record
9
+ # @param record [MARC::Record]
10
10
  # @return [String]
11
11
  def mmsid(record)
12
12
  record.fields('001').first.value
@@ -16,7 +16,7 @@ module PennMARC
16
16
  # {https://www.oclc.org/bibformats/en/0xx/020.html 020 field}, and subfield 'a', 'l', and 'z' of the
17
17
  # the {https://www.oclc.org/bibformats/en/0xx/020.html 022 field}.
18
18
  #
19
- # @param [MARC::Record] record
19
+ # @param record [MARC::Record]
20
20
  # @return [Array<String>]
21
21
  def isxn_search(record)
22
22
  record.fields(%w[020 022]).filter_map { |field|
@@ -31,7 +31,7 @@ module PennMARC
31
31
  # Get ISBN values for display from the {https://www.oclc.org/bibformats/en/0xx/020.html 020 field}
32
32
  # and related {https://www.oclc.org/bibformats/en/8xx/880.html 880 field}.
33
33
  #
34
- # @param [MARC::Record] record
34
+ # @param record [MARC::Record]
35
35
  # @return [Array<String>]
36
36
  def isbn_show(record)
37
37
  values = record.fields('020').filter_map do |field|
@@ -45,7 +45,7 @@ module PennMARC
45
45
  # Get ISSN values for display from the {https://www.oclc.org/bibformats/en/0xx/022.html 022 field} and related
46
46
  # {https://www.oclc.org/bibformats/en/8xx/880.html 880 field}.
47
47
  #
48
- # @param [MARC::Record] record
48
+ # @param record [MARC::Record]
49
49
  # @return [Array<String>]
50
50
  def issn_show(record)
51
51
  values = record.fields('022').filter_map do |field|
@@ -58,7 +58,7 @@ module PennMARC
58
58
 
59
59
  # Get numeric OCLC ID of first {https://www.oclc.org/bibformats/en/0xx/035.html 035 field}
60
60
  # with an OCLC ID defined in subfield 'a'.
61
- # @param [MARC::Record] record
61
+ # @param record [MARC::Record]
62
62
  # @return [String, nil]
63
63
  def oclc_id_show(record)
64
64
  ids = Array.wrap(record.fields('035')
@@ -81,7 +81,7 @@ module PennMARC
81
81
 
82
82
  # Retrieve valid and invalid numeric OCLC IDs from {https://www.oclc.org/bibformats/en/0xx/035.html 035 field}
83
83
  # for search.
84
- # @param [MARC::Record] record
84
+ # @param record [MARC::Record]
85
85
  # @return [Array<String>]
86
86
  def oclc_id_search(record)
87
87
  record.fields('035').flat_map { |field|
@@ -108,7 +108,7 @@ module PennMARC
108
108
  # {https://www.oclc.org/bibformats/en/8xx/880.html 880 field}. We do not return DOI values stored in 024 ǂ2,
109
109
  # see {PennMARC::Identifier.doi_show} for parsing DOI values.
110
110
  #
111
- # @param [MARC::Record] record
111
+ # @param record [MARC::Record]
112
112
  # @return [Array<string>]
113
113
  def publisher_number_show(record)
114
114
  record.fields(%w[024 028 880]).filter_map { |field|
@@ -126,7 +126,7 @@ module PennMARC
126
126
  # Get publisher issued identifiers for searching of a record. Values extracted from fields
127
127
  # {https://www.oclc.org/bibformats/en/0xx/024.html 024} and {https://www.oclc.org/bibformats/en/0xx/028.html 028}.
128
128
  #
129
- # @param [MARC::Record] record
129
+ # @param record [MARC::Record]
130
130
  # @return [Array<String>]
131
131
  def publisher_number_search(record)
132
132
  record.fields(%w[024 028]).filter_map { |field|
@@ -136,7 +136,7 @@ module PennMARC
136
136
  end
137
137
 
138
138
  # Retrieve fingerprint for display from the {https://www.oclc.org/bibformats/en/0xx/026.html 026} field
139
- # @param [MARC::Record] record
139
+ # @param record [MARC::Record]
140
140
  # @return [Array<String>]
141
141
  def fingerprint_show(record)
142
142
  record.fields('026').map { |field|
@@ -146,7 +146,7 @@ module PennMARC
146
146
 
147
147
  # Retrieve DOI values stored in {https://www.oclc.org/bibformats/en/0xx/024.html 024}.
148
148
  # Penn MARC records give the first indicator a value of '7' and ǂ2 a value of 'doi' to denote that ǂa is a doi.
149
- # @param [MARC::Record] record
149
+ # @param record [MARC::Record]
150
150
  # @return [Array<String>]
151
151
  def doi_show(record)
152
152
  record.fields('024').filter_map { |field|
@@ -161,7 +161,7 @@ module PennMARC
161
161
 
162
162
  # Gets any Host record MMS ID values from an Enriched::Pub::RELATED_RECORD_TAG field added during Alma enrichment.
163
163
  # This aids in our handling of "bound with" records.
164
- # @param [MARC::Record] record
164
+ # @param record [MARC::Record]
165
165
  # @return [Array<String>]
166
166
  def host_record_id(record)
167
167
  record.fields(Enriched::Pub::RELATED_RECORD_TAGS).filter_map { |field|
@@ -175,19 +175,19 @@ module PennMARC
175
175
 
176
176
  # Determine if subfield 'a' is an OCLC id.
177
177
  #
178
- # @param [MARC::Subfield]
179
- # @return [TrueClass, FalseClass]
178
+ # @param subfield [MARC::Subfield]
179
+ # @return [Boolean]
180
180
  def subfield_a_is_oclc?(subfield)
181
181
  subfield.code == 'a' && subfield_is_oclc?(subfield)
182
182
  end
183
183
 
184
- # @param [MARC::Subfield]
185
- # @return [TrueClass, FalseClass]
184
+ # @param subfield [MARC::Subfield]
185
+ # @return [Boolean]
186
186
  def subfield_is_oclc?(subfield)
187
187
  (subfield.value =~ /^\(OCoLC\).*/).present?
188
188
  end
189
189
 
190
- # @param [MARC::Subfield]
190
+ # @param subfield [MARC::Subfield]
191
191
  # @return [MatchData, nil]
192
192
  def match_oclc_number(subfield)
193
193
  /^\s*\(OCoLC\)[^1-9]*([1-9][0-9]*).*$/.match(subfield.value)
@@ -197,8 +197,8 @@ module PennMARC
197
197
  # Converts ISBN10 (ten-digit) to validated ISBN13 (thirteen-digit) and returns both values. If passed
198
198
  # ISBN13 parameter, only returns validated ISBN13 value.
199
199
  #
200
- # @param [String] isbn
201
- # @return [Array<String, String>, nil]
200
+ # @param isbn [String]
201
+ # @return [Array<String, String>, nil]
202
202
  def normalize_isbn(isbn)
203
203
  StdNum::ISBN.allNormalizedValues(isbn)
204
204
  end
@@ -18,7 +18,7 @@ module PennMARC
18
18
 
19
19
  class << self
20
20
  # Hash of Physical holdings information
21
- # @param [MARC::Record] record
21
+ # @param record [MARC::Record]
22
22
  # @return [Array, nil]
23
23
  def physical(record)
24
24
  source = enrichment_source(record)
@@ -30,7 +30,7 @@ module PennMARC
30
30
  end
31
31
 
32
32
  # Hash of Electronic inventory information
33
- # @param [MARC::Record] record
33
+ # @param record [MARC::Record]
34
34
  # @return [Array, nil]
35
35
  def electronic(record)
36
36
  source = enrichment_source(record)
@@ -42,14 +42,14 @@ module PennMARC
42
42
  end
43
43
 
44
44
  # Count of all electronic portfolios
45
- # @param [MARC::Record] record
45
+ # @param record [MARC::Record]
46
46
  # @return [Integer]
47
47
  def electronic_portfolio_count(record)
48
48
  record.count { |field| field.tag.in? %w[AVE prt] }
49
49
  end
50
50
 
51
51
  # Count of all physical holdings
52
- # @param [MARC::Record] record
52
+ # @param record [MARC::Record]
53
53
  # @return [Integer]
54
54
  def physical_holding_count(record)
55
55
  record.count { |field| field.tag.in? %w[AVA hld] }
@@ -58,7 +58,7 @@ module PennMARC
58
58
  private
59
59
 
60
60
  # Determine the source of the MARC inventory enrichment
61
- # @param [MARC::Record] record
61
+ # @param record [MARC::Record]
62
62
  # @return [Symbol, nil]
63
63
  def enrichment_source(record)
64
64
  if pub_enrichment_tags?(record)
@@ -70,7 +70,7 @@ module PennMARC
70
70
 
71
71
  # Does the record include tags from Publishing inventory enrichment?
72
72
  # @todo move to Util?
73
- # @param [MARC::Record] record
73
+ # @param record [MARC::Record]
74
74
  # @return [Boolean]
75
75
  def pub_enrichment_tags?(record)
76
76
  record.tags.intersect?(
@@ -80,7 +80,7 @@ module PennMARC
80
80
 
81
81
  # Does the record include tags from API inventory enrichment?
82
82
  # @todo move to Util?
83
- # @param [MARC::Record] record
83
+ # @param record [MARC::Record]
84
84
  # @return [Boolean]
85
85
  def api_enrichment_tags?(record)
86
86
  record.tags.intersect?(
@@ -6,8 +6,8 @@ module PennMARC
6
6
  class Base
7
7
  attr_reader :source, :field, :mapper
8
8
 
9
- # @param [MARC::DataField] inventory_field
10
- # @param [Symbol] source
9
+ # @param inventory_field [MARC::DataField]
10
+ # @param source [Symbol]
11
11
  def initialize(inventory_field, source)
12
12
  @source = source
13
13
  @field = inventory_field
@@ -12,7 +12,7 @@ module PennMARC
12
12
  class << self
13
13
  # Get language values for display from the {https://www.oclc.org/bibformats/en/5xx/546.html 546 field} and
14
14
  # related 880.
15
- # @param [MARC::Record] record
15
+ # @param record [MARC::Record]
16
16
  # @return [Array<String>] language values and notes
17
17
  def show(record)
18
18
  values = record.fields('546').map do |field|
@@ -31,9 +31,9 @@ module PennMARC
31
31
  # multilingual items, items that involve translation, and items where the medium of communication is a sign
32
32
  # language. https://www.loc.gov/marc/bibliographic/bd041.html
33
33
  #
34
- # @param [MARC::Record] record
35
- # @param [Hash] iso_639_2_mapping iso-639-2 spec hash for language code translation
36
- # @param [Hash] iso_639_3_mapping iso-639-3 spec hash for language code translation
34
+ # @param record [MARC::Record]
35
+ # @param iso_639_2_mapping [Hash] iso-639-2 spec hash for language code translation
36
+ # @param iso_639_3_mapping [Hash] iso-639-3 spec hash for language code translation
37
37
  # @return [Array<String>] array of language values
38
38
  def values(record, iso_639_2_mapping: Mappers.iso_639_2_language, iso_639_3_mapping: Mappers.iso_639_3_language)
39
39
  values = record.fields('041').filter_map { |field|
@@ -6,12 +6,12 @@ module PennMARC
6
6
  class << self
7
7
  # @todo the legacy code here is a hot mess for a number of reasons, what do we need this field to do?
8
8
  # @note port the needed parts from get_offsite_display, don't return HTML
9
- # @param [MARC::Record] record
9
+ # @param record [MARC::Record]
10
10
  # @return [Object]
11
11
  def offsite(record); end
12
12
 
13
13
  # Full text links from MARC 856 fields.
14
- # @param [MARC::Record] record
14
+ # @param record [MARC::Record]
15
15
  # @return [Array] array of hashes
16
16
  def full_text_links(record)
17
17
  indicator2_options = %w[0 1]
@@ -19,7 +19,7 @@ module PennMARC
19
19
  end
20
20
 
21
21
  # Web text links from MARC 856 fields.
22
- # @param [MARC::Record] record
22
+ # @param record [MARC::Record]
23
23
  # @return [Array] array of hashes
24
24
  def web_links(record)
25
25
  indicator2_options = ['2', ' ', '']
@@ -30,7 +30,7 @@ module PennMARC
30
30
 
31
31
  # Extract subfield 3 and z/y depending on the presence of either. Extract link url and assemble array
32
32
  # with text and link.
33
- # @param [MARC::Field] field
33
+ # @param field [MARC::Field]
34
34
  # @return [Array]
35
35
  def link_text_and_url(field)
36
36
  subfield3 = subfield_values(field, 3)
@@ -42,8 +42,8 @@ module PennMARC
42
42
 
43
43
  # Assemble array of link text, link URL values from 856 fields. Ensure indicator1 (access method)
44
44
  # is always 4 (HTTP) and indicator2 (relationship) can be specified by caller method.
45
- # @param [MARC::Record] record
46
- # @param [Array] indicator2_options
45
+ # @param record [MARC::Record]
46
+ # @param indicator2_options [Array]
47
47
  # @return [Array]
48
48
  def links_from_record(record, indicator2_options)
49
49
  record.fields('856').filter_map do |field|
@@ -12,8 +12,8 @@ module PennMARC
12
12
  # {PennMARC::Enriched} maps enriched marc fields and subfields created during Alma publishing.
13
13
  # @see https://developers.exlibrisgroup.com/alma/apis/docs/bibs/R0VUIC9hbG1hd3MvdjEvYmlicy97bW1zX2lkfQ==/
14
14
  # Alma documentation for these added fields
15
- # @param [MARC::Record] record
16
- # @param [Hash] location_map hash with location_code as key and location hash as value
15
+ # @param record [MARC::Record]
16
+ # @param location_map [Hash] hash with location_code as key and location hash as value
17
17
  # @return [Array<String>] Array of library locations retrieved from location_map
18
18
  def library(record, location_map: Mappers.location)
19
19
  location(record: record, location_map: location_map, display_value: 'library')
@@ -25,8 +25,8 @@ module PennMARC
25
25
  # {PennMARC::Enriched} maps enriched marc fields and subfields created during Alma publishing.
26
26
  # @see https://developers.exlibrisgroup.com/alma/apis/docs/bibs/R0VUIC9hbG1hd3MvdjEvYmlicy97bW1zX2lkfQ==/
27
27
  # Alma documentation for these added fields
28
- # @param [MARC::Record] record
29
- # @param [Hash] location_map hash with location_code as key and location hash as value
28
+ # @param record [MARC::Record]
29
+ # @param location_map [Hash] hash with location_code as key and location hash as value
30
30
  # @return [Array<String>] Array of specific locations retrieved from location_map
31
31
  def specific_location(record, location_map: Mappers.location)
32
32
  location(record: record, location_map: location_map, display_value: 'specific_location')
@@ -37,9 +37,9 @@ module PennMARC
37
37
  # {PennMARC::Enriched} maps enriched marc fields and subfields created during Alma publishing.
38
38
  # @see https://developers.exlibrisgroup.com/alma/apis/docs/bibs/R0VUIC9hbG1hd3MvdjEvYmlicy97bW1zX2lkfQ==/
39
39
  # Alma documentation for these added fields
40
- # @param [MARC::Record] record
41
- # @param [Symbol | String] display_value field in location hash to retrieve
42
- # @param [Hash] location_map hash with location_code as key and location hash as value
40
+ # @param record [MARC::Record]
41
+ # @param display_value [Symbol | String] field in location hash to retrieve
42
+ # @param location_map [Hash] hash with location_code as key and location hash as value
43
43
  # @return [Array<String>]
44
44
  def location(record:, display_value:, location_map:)
45
45
  # get enriched marc location tag and relevant subfields
@@ -71,7 +71,7 @@ module PennMARC
71
71
 
72
72
  # Determine enriched marc location tag, location code subfield, and call number subfield,
73
73
  # giving priority to using 'itm', 'AVA', or 'AVE' fields.
74
- # @param [MARC::Record]
74
+ # @param record [MARC::Record]
75
75
  # @return [Hash<String, String>] containing location tag and subfield code
76
76
  # - `:tag` (String): The enriched marc location tag
77
77
  # - `:location_code_sf` (String): The subfield code where location code is stored
@@ -111,8 +111,8 @@ module PennMARC
111
111
  # map, we ignore it, for faceting purposes. We also ignore the location code 'web'. We don't facet for 'web'
112
112
  # which is the 'Penn Library Web' location used in Voyager. This location should eventually go away completely
113
113
  # with data cleanup in Alma.
114
- # @param [location_map] location_map hash with location_code as key and location hash as value
115
- # @param [location_code] location_code retrieved from record
114
+ # @param location_map [location_map] hash with location_code as key and location hash as value
115
+ # @param location_code [location_code] retrieved from record
116
116
  # @return [Boolean]
117
117
  def location_code_to_ignore?(location_map, location_code)
118
118
  location_map.key?(location_code.to_sym) == false || location_code == WEB_LOCATION_CODE
@@ -120,10 +120,10 @@ module PennMARC
120
120
 
121
121
  # Retrieves a specific location override based on location code and call number. Specific location overrides are
122
122
  # located in `location_overrides.yml`.
123
- # @param [String | Symbol] display_value
124
- # @param [String] location_code
125
- # @param [MARC::Field] field
126
- # @param [String] call_num_sf
123
+ # @param display_value [String | Symbol]
124
+ # @param location_code [String]
125
+ # @param field [MARC::Field]
126
+ # @param call_num_sf [String]
127
127
  # @return [String, Nil]
128
128
  def specific_location_override(display_value:, location_code:, field:, call_num_sf:)
129
129
  return unless display_value.to_sym == :specific_location
@@ -172,7 +172,7 @@ module PennMARC
172
172
  end
173
173
 
174
174
  # Retrieve "With" notes for display from field {https://www.loc.gov/marc/bibliographic/bd501.html 501}
175
- # @param record [Marc::Record]
175
+ # @param record [MARC::Record]
176
176
  # @return [Array<String>]
177
177
  def bound_with_show(record)
178
178
  record.fields('501').filter_map { |field| join_subfields(field, &subfield_in?(['a'])).presence }.uniq
@@ -183,7 +183,7 @@ module PennMARC
183
183
  # For system details: extract subfield ǂ3 plus other subfields as specified by passed-in block. Pays special
184
184
  # attention to punctuation, joining subfield ǂ3 values with a colon-space (': ').
185
185
  # @param field [MARC::DataField]
186
- # @param & [Proc]
186
+ # @yieldparam & [Proc]
187
187
  # @return [String]
188
188
  def sub3_and_other_subs(field, &)
189
189
  sub3 = field.filter_map { |sf| trim_trailing('period', sf.value) if sf.code == '3' }.join(': ')
@@ -109,8 +109,8 @@ module PennMARC
109
109
  # {https://www.loc.gov/marc/bibliographic/bd245.html 245},
110
110
  # {https://www.loc.gov/marc/bibliographic/bd260.html 260}-262 and their linked alternates,
111
111
  # and {https://www.loc.gov/marc/bibliographic/bd264.html 264} and its linked alternate.
112
- # @param [MARC::Record] record
113
- # @param [Boolean] with_year: return results with publication year if true
112
+ # @param record [MARC::Record]
113
+ # @param with_year [Boolean] return results with publication year if true
114
114
  # @return [Array<String>]
115
115
  def publication_citation_show(record, with_year: true)
116
116
  values = record.fields('245').first(1).flat_map { |field| subfield_values(field, 'f') }
@@ -131,14 +131,14 @@ module PennMARC
131
131
  end
132
132
 
133
133
  # Returns the place of publication for RIS
134
- # @param [MARC::Record] record
134
+ # @param record [MARC::Record]
135
135
  # @return [Array<String>]
136
136
  def publication_ris_place_of_pub(record)
137
137
  get_publication_ris_values(record, 'a')
138
138
  end
139
139
 
140
140
  # Returns the publisher for RIS
141
- # @param [MARC::Record] record
141
+ # @param record [MARC::Record]
142
142
  # @return [Array<String>]
143
143
  def publication_ris_publisher(record)
144
144
  get_publication_ris_values(record, 'b')
@@ -202,8 +202,9 @@ module PennMARC
202
202
  end
203
203
 
204
204
  # Returns the publication value of the given subfield
205
- # @param [MARC::Record] record
206
- # @param [String] subfield
205
+ # @param record [MARC::Record]
206
+ # @param subfield [String]
207
+ # @return [Array<String>]
207
208
  def get_publication_ris_values(record, subfield)
208
209
  values = record.fields('245').first(1).flat_map { |field| subfield_values(field, 'f') }
209
210
 
@@ -13,7 +13,7 @@ module PennMARC
13
13
  # Get values for "{https://www.oclc.org/bibformats/en/7xx/773.html Host Item}" for this record. Values contained
14
14
  # in this field should be sufficient to locate host item record.
15
15
  #
16
- # @param [MARC::Record] record
16
+ # @param record [MARC::Record]
17
17
  # @return [Array<String>] contained in values for display
18
18
  def contained_in_show(record)
19
19
  record.fields('773').map { |field|
@@ -23,21 +23,21 @@ module PennMARC
23
23
 
24
24
  # Get "chronology" information from specially-prefixed 650 (subject) fields
25
25
  # @todo why do we stuff chronology data in a 650 field?
26
- # @param [MARC::Record] record
26
+ # @param record [MARC::Record]
27
27
  # @return [Array] array of chronology values
28
28
  def chronology_show(record)
29
29
  prefixed_subject_and_alternate(record, CHRONOLOGY_PREFIX)
30
30
  end
31
31
 
32
32
  # Get notes for Related Collections from {https://www.oclc.org/bibformats/en/5xx/544.html MARC 544}.
33
- # @param [MARC::Record] record
33
+ # @param record [MARC::Record]
34
34
  # @return [Array]
35
35
  def related_collections_show(record)
36
36
  datafield_and_linked_alternate(record, '544')
37
37
  end
38
38
 
39
39
  # Get notes for "Publication About" from {https://www.oclc.org/bibformats/en/5xx/581.html MARC 581}.
40
- # @param [MARC::Record] record
40
+ # @param record [MARC::Record]
41
41
  # @return [Array]
42
42
  def publications_about_show(record)
43
43
  datafield_and_linked_alternate(record, '581')
@@ -45,8 +45,8 @@ module PennMARC
45
45
 
46
46
  # Get related work from {RELATED_WORK_FIELDS} in the 7XX range. Require presence of sf t (title) and absence of
47
47
  # an indicator2 value. Prefix returned values with sf i value. Also map relator codes found in sf 4. Ignore sf 0.
48
- # @param [MARC::Record] record
49
- # @param [Hash] relator_map
48
+ # @param record [MARC::Record]
49
+ # @param relator_map [Hash]
50
50
  # @return [Array]
51
51
  def related_work_show(record, relator_map: Mappers.relator)
52
52
  fields = record.fields(RELATED_WORK_FIELDS)
@@ -71,8 +71,8 @@ module PennMARC
71
71
  # "Analytical Entry" meaning that the record is contained by the matching field. Map relator codes in sf 4. Ignore
72
72
  # values in sf 0, 5, 6, and 8.
73
73
  # @todo is it okay to include 880 $4 here? Legacy includes untranslated $4, why?
74
- # @param [MARC::Record] record
75
- # @param [Hash] relator_map
74
+ # @param record [MARC::Record]
75
+ # @param relator_map [Hash]
76
76
  # @return [Array<String>]
77
77
  def contains_show(record, relator_map: Mappers.relator)
78
78
  fields = record.fields(CONTAINS_FIELDS)
@@ -93,7 +93,7 @@ module PennMARC
93
93
 
94
94
  # Get "Constituent Unit" values from {https://www.oclc.org/bibformats/en/7xx/774.html MARC 774}. Include
95
95
  # subfield values in i, a, s and t.
96
- # @param [MARC::Record] record
96
+ # @param record [MARC::Record]
97
97
  # @return [Array]
98
98
  def constituent_unit_show(record)
99
99
  values = record.fields('774').filter_map do |field|
@@ -105,7 +105,7 @@ module PennMARC
105
105
 
106
106
  # Get "Has Supplement" values from {https://www.oclc.org/bibformats/en/7xx/770.html MARC 770}. Ignore
107
107
  # subfield values in 6 and 8.
108
- # @param [MARC::Record] record
108
+ # @param record [MARC::Record]
109
109
  # @return [Array]
110
110
  def has_supplement_show(record)
111
111
  datafield_and_linked_alternate(record, '770')
@@ -114,10 +114,10 @@ module PennMARC
114
114
  private
115
115
 
116
116
  # Handle common behavior when a relator field references a title in subfield i
117
- # @param [MARC::DataField] field
118
- # @param [String, nil] relator_term_sf subfield that holds relator term
119
- # @param [Hash, nil] relator_map map relator in sf4 using this map, optional
120
- # @param [Proc] join_selector
117
+ # @param field [MARC::DataField]
118
+ # @param relator_term_sf [String, nil] subfield that holds relator term
119
+ # @param relator_map [Hash, nil] map relator in sf4 using this map, optional
120
+ # @param join_selector [Proc]
121
121
  # @return [String] extracted and processed values from field
122
122
  def values_with_title_prefix(field, relator_term_sf: nil, relator_map: nil, &join_selector)
123
123
  subi = remove_paren_value_from_subfield_i(field) || ''
@@ -18,8 +18,8 @@ module PennMARC
18
18
  DISPLAY_TAGS = %w[800 810 811 830 400 410 411 440 490].freeze
19
19
 
20
20
  # Fields for display that pertain to series information.
21
- # @param [MARC::Record] record
22
- # @param [Hash] relator_map
21
+ # @param record [MARC::Record]
22
+ # @param relator_map [Hash]
23
23
  # @return [Array<String>] array of series information
24
24
  def show(record, relator_map: Mappers.relator)
25
25
  tags_present = DISPLAY_TAGS.select { |tag| record[tag].present? }
@@ -36,8 +36,8 @@ module PennMARC
36
36
  end
37
37
 
38
38
  # Values from series fields for display.
39
- # @param [MARC::Record] record
40
- # @param [Hash] relator_map
39
+ # @param record [MARC::Record]
40
+ # @param relator_map [Hash]
41
41
  # @return [Array<String>] array of series values
42
42
  def values(record, relator_map: Mappers.relator)
43
43
  series_8x = record.fields(%w[800 810 811 830]).first
@@ -48,7 +48,7 @@ module PennMARC
48
48
  end
49
49
 
50
50
  # Series fields for search.
51
- # @param [MARC::Record] record
51
+ # @param record [MARC::Record]
52
52
  # @return [Array<String>] array of series values
53
53
  def search(record)
54
54
  values = record.fields(%w[400 410 411]).filter_map do |field|
@@ -83,7 +83,7 @@ module PennMARC
83
83
  # is generated from this field, the introductory term or phrase may be generated based on the value in the second
84
84
  # indicator position for display.
85
85
  # https://www.loc.gov/marc/bibliographic/bd780.html
86
- # @param [MARC::Record] record
86
+ # @param record [MARC::Record]
87
87
  # @return [Array<String>] continues fields string
88
88
  def get_continues_show(record)
89
89
  continues(record, '780').uniq
@@ -93,7 +93,7 @@ module PennMARC
93
93
  # generated from this field, the introductory phrase may be generated based on the value in the second indicator
94
94
  # position for display.
95
95
  # https://www.loc.gov/marc/bibliographic/bd785.html
96
- # @param [MARC::Record] record
96
+ # @param record [MARC::Record]
97
97
  # @return [Array<String>] continued by fields string
98
98
  def get_continued_by_show(record)
99
99
  continues(record, '785').uniq
@@ -104,9 +104,9 @@ module PennMARC
104
104
  # If any of these values: 800 810 811 400 410 411 are present, return a string with series information and
105
105
  # appended values.
106
106
  # @note added 2017/04/10: filter out 0 (authority record numbers) added by Alma
107
- # @param [MARC::Record] record
108
- # @param [String] first_tag
109
- # @param [Hash] relator_mapping
107
+ # @param record [MARC::Record]
108
+ # @param first_tag [String]
109
+ # @param relator_mapping [Hash]
110
110
  # @return [Array<Hash>] array of author show entry hashes
111
111
  def author_show_entries(record, first_tag, relator_mapping)
112
112
  record.fields(first_tag).map do |field|
@@ -126,8 +126,8 @@ module PennMARC
126
126
 
127
127
  # If any of these values: 830 440 490 are present, return a string with series information and appended values.
128
128
  # @note added 2017/04/10: filter out 0 (authority record numbers) added by Alma
129
- # @param [MARC::Record] record
130
- # @param [String] first_tag
129
+ # @param record [MARC::Record]
130
+ # @param first_tag [String]
131
131
  # @return [Array<String>] array of author show entry strings
132
132
  def title_show_entries(record, first_tag)
133
133
  record.fields(first_tag).map do |field|
@@ -139,8 +139,8 @@ module PennMARC
139
139
 
140
140
  # Assemble an array of hashes that includes the remaining show entries.
141
141
  # @note added 2017/04/10: filter out 0 (authority record numbers) added by Alma
142
- # @param [MARC::Record] record
143
- # @param [Array<String>] tags_present
142
+ # @param record [MARC::Record]
143
+ # @param tags_present [Array<String>]
144
144
  # @return [Array<Hash>] array of remaining show entry hashes
145
145
  def remaining_show_entries(record, tags_present)
146
146
  record.fields(tags_present.drop(1)).map do |field|
@@ -156,7 +156,7 @@ module PennMARC
156
156
  # is linked to the associated regular field by subfield $6 (Linkage). A subfield $6 in the associated field also
157
157
  # links that field to the 880 field. The data in field 880 may be in more than one script. This function exists
158
158
  # because it differs than the tradition use of linked_alternate.
159
- # @param [MARC::Record] record
159
+ # @param record [MARC::Record]
160
160
  # @return [Array<String>]
161
161
  def series_880_fields(record)
162
162
  record.fields('880').filter_map do |field|
@@ -168,8 +168,8 @@ module PennMARC
168
168
 
169
169
  # Assemble a formatted string of a given field.
170
170
  # @note added 2017/04/10: filter out 0 (authority record numbers) added by Alma
171
- # @param [MARC::Field] field
172
- # @param [Hash] relator_mapping
171
+ # @param field [MARC::Field]
172
+ # @param relator_mapping [Hash]
173
173
  # @return [String] series 4xx field
174
174
  def series_field(field, relator_mapping)
175
175
  subfields = if field.tag.start_with? '4'
@@ -189,8 +189,8 @@ module PennMARC
189
189
  end
190
190
 
191
191
  # Get subfields from a given field (continues or continued_by).
192
- # @param [MARC::Record] record
193
- # @param [String] tag
192
+ # @param record [MARC::Record]
193
+ # @param tag [String]
194
194
  # @return [Array<String>] joined subfields
195
195
  def continues(record, tag)
196
196
  record.fields.filter_map do |field|