blacklight-marc 6.1.1 → 6.2.0

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
  SHA1:
3
- metadata.gz: 2dad28dda5b571d3d111370ddab6cdbd03bab70b
4
- data.tar.gz: 0177360550a4b9b7387790c51dd543b8c1396c4a
3
+ metadata.gz: b0b44e5b957d4a934e1df678bb1e80994e3fd3ec
4
+ data.tar.gz: 9e12245e21d1da293c21cc3e8d0b6e4119a244a7
5
5
  SHA512:
6
- metadata.gz: 82744f0a7fb2e5a2688753211de0a5fa449caca6682d7ae78eada10819828d0e0e67cd9b380339d9c1f7ba53a231dff1618f3a19618f4b67b0c01c410378dfee
7
- data.tar.gz: 283589fa380fe66a421a93a6354b9555b965ac72091dd06fd777535679a45d5fe58375cad0482ac7e38a9b41646e8bab7b381a2b4fb6dcd12b0203bccf6a35c8
6
+ metadata.gz: 4a6175d6dfc1be58f1d833549708a8708f840d24a556828fcbb113c444e5590c0c6c495f42a1c8a6fe9caabee06f6a46cb56e08662cd5249160be0715f37f4b1
7
+ data.tar.gz: 28d2c19fabb43958c4ea0649035ad010898589365ee5f79ffdabdf2e2d2316f2097283719204e8657e894fcc237a3b4cca5fa159a0817e38c1b8e990efbfc937
@@ -5,7 +5,7 @@ module Blacklight::Marc::Indexer::Formats
5
5
  v = v.upcase
6
6
  case
7
7
  when (v.start_with? 'A')
8
- vals << (v == 'AD') ? 'Atlas' : 'Map'
8
+ vals << (v == 'AD' ? 'Atlas' : 'Map')
9
9
  when (v.start_with? 'C')
10
10
  case
11
11
  when (v == "CA")
@@ -107,7 +107,7 @@ module Blacklight::Marc::Indexer::Formats
107
107
  field007hasC
108
108
  end
109
109
 
110
- def self.map_leader(f_000,field007hasC,vals)
110
+ def self.map_leader(f_000,field007hasC,vals,record)
111
111
  f_000 = f_000.upcase
112
112
  case
113
113
  when (f_000.start_with? 'C')
@@ -139,15 +139,13 @@ module Blacklight::Marc::Indexer::Formats
139
139
  vals << ((field007hasC) ? "eBook" : "Book")
140
140
  elsif f_000 == 'AS'
141
141
  # Look in 008 to determine what type of Continuing Resource
142
- formatCode = extract_marc("008[21]", first: true) do |r,a|
143
- format_code = a.upcase
144
- if format_code == 'N'
145
- vals << 'Newspaper'
146
- elsif format_code == 'P'
147
- vals << 'Journal'
148
- else
149
- vals << 'Serial'
150
- end
142
+ format_code = Traject::Macros::Marc21.extract_marc_from(record, "008[21]", first: true, default: "").first.upcase
143
+ if format_code == 'N'
144
+ vals << 'Newspaper'
145
+ elsif format_code == 'P'
146
+ vals << 'Journal'
147
+ else
148
+ vals << 'Serial'
151
149
  end
152
150
  end
153
151
  end
@@ -174,12 +172,12 @@ module Blacklight::Marc::Indexer::Formats
174
172
  else
175
173
  # check the Leader - this is NOT a repeating field
176
174
  # if we find a matching value there, grab it and return.
177
- FormatMap.map_leader(record.leader[6,2],field007hasC,vals)
175
+ FormatMap.map_leader(record.leader[6,2],field007hasC,vals,record)
178
176
  unless vals.empty?
179
177
  vals.uniq!
180
178
  accumulator.concat vals
181
179
  else
182
- FormatMap.map_leader(record.leader[6],field007hasC,vals)
180
+ FormatMap.map_leader(record.leader[6],field007hasC,vals,record)
183
181
  if vals.empty?
184
182
  accumulator.concat ['Unknown']
185
183
  else
@@ -191,4 +189,4 @@ module Blacklight::Marc::Indexer::Formats
191
189
  end
192
190
  end
193
191
  end
194
- end
192
+ end
@@ -1,5 +1,5 @@
1
1
  module Blacklight
2
2
  module Marc
3
- VERSION = '6.1.1'
3
+ VERSION = '6.2.0'
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  $:.unshift './config'
2
2
  class MarcIndexer < Blacklight::Marc::Indexer
3
- # this mixin defines lambda facotry method get_format for legacy marc formats
3
+ # this mixin defines lambda factory method get_format for legacy marc formats
4
4
  include Blacklight::Marc::Indexer::Formats
5
5
 
6
6
  def initialize
@@ -158,4 +158,4 @@ class MarcIndexer < Blacklight::Marc::Indexer
158
158
  end
159
159
  end
160
160
  end
161
- end
161
+ end
@@ -41,6 +41,14 @@ describe Blacklight::Marc::Indexer::Formats do
41
41
  subject.get_format.call(record,val,subject)
42
42
  expect(val).to eql(['TapeCartridge'])
43
43
  end
44
+ it 'should map for 007 field with AD value' do
45
+ record = double('Record')
46
+ allow(record).to receive(:fields).with(["245", "880"]).and_return([])
47
+ expect(record).to receive(:fields).with(["007", "880"]).and_return([MARC::ControlField.new('007','AD')])
48
+ val = []
49
+ subject.get_format.call(record,val,subject)
50
+ expect(val).to eql(['Atlas'])
51
+ end
44
52
  it 'should map for leader' do
45
53
  record = double('Record')
46
54
  allow(record).to receive(:fields).with(["245", "880"]).and_return([])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-marc
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-10 00:00:00.000000000 Z
11
+ date: 2017-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blacklight
@@ -346,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
346
346
  version: '0'
347
347
  requirements: []
348
348
  rubyforge_project:
349
- rubygems_version: 2.5.1
349
+ rubygems_version: 2.6.11
350
350
  signing_key:
351
351
  specification_version: 4
352
352
  summary: MARC support for Blacklight