berkeley_library-av-core 0.4.0 → 0.4.2
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/.github/workflows/gem-push.yml +33 -0
- data/.idea/av_core.iml +1 -1
- data/CHANGES.md +12 -0
- data/lib/berkeley_library/av/config.rb +16 -1
- data/lib/berkeley_library/av/constants.rb +4 -0
- data/lib/berkeley_library/av/core/module_info.rb +2 -2
- data/lib/berkeley_library/av/metadata/fields.rb +5 -1
- data/lib/berkeley_library/av/record.rb +1 -0
- data/rakelib/spec.rake +1 -1
- data/spec/data/record-audio-multiple-856s.xml +55 -0
- data/spec/lib/berkeley_library/av/config_spec.rb +48 -2
- data/spec/lib/berkeley_library/av/metadata/field_spec.rb +21 -0
- data/spec/lib/berkeley_library/av/metadata/fields_spec.rb +2 -1
- metadata +10 -8
- data/Jenkinsfile +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79eeca0ec147ccba75f22e0589b58821fea176bf4aac9759cf18932fdad1deec
|
4
|
+
data.tar.gz: 48b3c4299e46475cf14b1d764eb84198d98e0571af648008ec3b46775bab478d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd767008eaf6d51c5a4e1ce94feeaa5951332c07eba79ce13101a4b79ecfa885c978f2d258946b6a5cb3ac66637ff1a7679aa18f0a44d4e42027f8f016fa87c3
|
7
|
+
data.tar.gz: f35e8b193c25d40ce110d7031875ac254c7521c4618c11c689ca853a92445be233c66da21ae7b3f895fe2db28290227cb23fd6cf6f48d3aabf8ea124b37e689d
|
@@ -0,0 +1,33 @@
|
|
1
|
+
name: Build and push Ruby Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
release:
|
5
|
+
types: [published]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
name: Build + Publish
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
permissions:
|
12
|
+
contents: read
|
13
|
+
packages: write
|
14
|
+
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v3
|
17
|
+
|
18
|
+
- name: Set up Ruby
|
19
|
+
uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: '3.2'
|
22
|
+
bundler-cache: true
|
23
|
+
|
24
|
+
- name: Publish to RubyGems
|
25
|
+
run: |
|
26
|
+
mkdir -p $HOME/.gem
|
27
|
+
touch $HOME/.gem/credentials
|
28
|
+
chmod 0600 $HOME/.gem/credentials
|
29
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
30
|
+
gem build *.gemspec
|
31
|
+
gem push *.gem
|
32
|
+
env:
|
33
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.idea/av_core.iml
CHANGED
@@ -113,7 +113,7 @@
|
|
113
113
|
</RakeTaskImpl>
|
114
114
|
<RakeTaskImpl description="Run all specs in spec directory, with coverage" fullCommand="coverage" id="coverage" />
|
115
115
|
<RakeTaskImpl description="Run tests, check test coverage, check code style, check for vulnerabilities, build gem" fullCommand="default" id="default" />
|
116
|
-
<RakeTaskImpl description="Build av_core.gemspec as
|
116
|
+
<RakeTaskImpl description="Build av_core.gemspec as berkeley_library-av-core-0.4.1.gem" fullCommand="gem" id="gem" />
|
117
117
|
<RakeTaskImpl description="Run RuboCop with auto-correct, and output results to console" fullCommand="ra" id="ra" />
|
118
118
|
<RakeTaskImpl description="Run rubocop with HTML output" fullCommand="rubocop" id="rubocop" />
|
119
119
|
<RakeTaskImpl id="rubocop">
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
# 0.4.2 (2024-10-10)
|
2
|
+
|
3
|
+
- Add TRANSCRIPTS to `AV::METADATA::FIELDS`
|
4
|
+
|
5
|
+
# 0.4.1 (2023-02-21)
|
6
|
+
|
7
|
+
- Add `BerkeleyLibrary::AV::Config.log_settings!`
|
8
|
+
|
9
|
+
# 0.4.0 (2023-01-05)
|
10
|
+
|
11
|
+
- Initial public release to RubyGems
|
12
|
+
|
1
13
|
# 0.3.0 (2022-02-01)
|
2
14
|
|
3
15
|
- Rename `Record#ucb_access?` and `Metadata#ucb_access?` to `calnet_or_ip?` for clarity.
|
@@ -1,4 +1,5 @@
|
|
1
|
-
require 'berkeley_library/
|
1
|
+
require 'berkeley_library/logging'
|
2
|
+
require 'berkeley_library/util'
|
2
3
|
|
3
4
|
module BerkeleyLibrary
|
4
5
|
module AV
|
@@ -34,6 +35,8 @@ module BerkeleyLibrary
|
|
34
35
|
|
35
36
|
# View state key to use when generating Alma permalinks, e.g. `iqob43`; see
|
36
37
|
# https://knowledge.exlibrisgroup.com/Primo/Knowledge_Articles/What_is_the_key_in_short_permalinks%3F
|
38
|
+
#
|
39
|
+
# Note that despite the name 'key', this is not a secret.
|
37
40
|
def alma_permalink_key
|
38
41
|
@alma_permalink_key ||= value_from_rails_config(:alma_permalink_key)
|
39
42
|
end
|
@@ -50,6 +53,7 @@ module BerkeleyLibrary
|
|
50
53
|
primo_permalink_base_uri_for(alma_primo_host, alma_institution_code, alma_permalink_key)
|
51
54
|
end
|
52
55
|
|
56
|
+
# TODO: is this needed?
|
53
57
|
def avplayer_base_uri
|
54
58
|
@avplayer_base_uri ||= uri_from_rails_config(:avplayer_base_uri)
|
55
59
|
end
|
@@ -158,8 +162,19 @@ module BerkeleyLibrary
|
|
158
162
|
raise ArgumentError, "Missing AV configuration settings: #{missing_settings.join(', ')}"
|
159
163
|
end
|
160
164
|
|
165
|
+
# Logs settings to the specified logger, or to the default logger.
|
166
|
+
# @param to_logger The logger to log to, if not the default.
|
167
|
+
def log_settings!(to_logger: BerkeleyLibrary::Logging.logger)
|
168
|
+
settings = REQUIRED_SETTINGS.to_h { |attr| [attr, loggable_value(send(attr))] }
|
169
|
+
to_logger.info("#{name} settings:", settings:)
|
170
|
+
end
|
171
|
+
|
161
172
|
private
|
162
173
|
|
174
|
+
def loggable_value(v)
|
175
|
+
v.is_a?(URI) ? v.to_s : v
|
176
|
+
end
|
177
|
+
|
163
178
|
def sru_base_uri_for(domain, inst_code)
|
164
179
|
URIs.append("https://#{domain}/view/sru/", inst_code)
|
165
180
|
end
|
@@ -5,6 +5,10 @@ module BerkeleyLibrary
|
|
5
5
|
TAG_LINK_FIELD = '856'.freeze
|
6
6
|
TAG_TRACK_FIELD = '998'.freeze
|
7
7
|
TAG_TIND_ID = '001'.freeze
|
8
|
+
TAG_TRANSCRIPT_FIELD = '856'.freeze
|
9
|
+
|
10
|
+
SUBFIELD_CODE_URI = :u
|
11
|
+
SUBFIELD_CODE_LINKTEXT = :y
|
8
12
|
|
9
13
|
# TODO: use marc/spec
|
10
14
|
TAG_TIND_CATALOG_ID = '901'.freeze
|
@@ -8,8 +8,8 @@ module BerkeleyLibrary
|
|
8
8
|
SUMMARY = 'UC Berkeley Library audio/video core code'.freeze
|
9
9
|
DESCRIPTION = 'Gem for UC Berkeley Library shared audio/video code'.freeze
|
10
10
|
LICENSE = 'MIT'.freeze
|
11
|
-
VERSION = '0.4.
|
12
|
-
HOMEPAGE = 'https://
|
11
|
+
VERSION = '0.4.2'.freeze
|
12
|
+
HOMEPAGE = 'https://github.com/BerkeleyLibrary/av-core'.freeze
|
13
13
|
|
14
14
|
private_class_method :new
|
15
15
|
end
|
@@ -12,7 +12,10 @@ module BerkeleyLibrary
|
|
12
12
|
CREATOR_PERSONAL = Field.new(order: 2, label: 'Creator', spec: '700')
|
13
13
|
CREATOR_CORPORATE = Field.new(order: 2, label: 'Creator', spec: '710')
|
14
14
|
TRACKS = Field.new(order: 99, label: 'Tracks', spec: TAG_TRACK_FIELD, subfield_order: %w[g t a])
|
15
|
-
CATALOG_LINK = Field.new(order:
|
15
|
+
CATALOG_LINK = Field.new(order: 998, label: 'Linked Resources', spec: "#{TAG_LINK_FIELD}{^1=\\4}{^2=\\1}")
|
16
|
+
# rubocop:disable Layout/LineLength
|
17
|
+
TRANSCRIPTS = Field.new(order: 999, label: 'Transcripts', spec: "#{TAG_TRANSCRIPT_FIELD}{$y~\\Transcript}{^1=\\4}{^2=\\2}", subfield_order: %w[u y])
|
18
|
+
# rubocop:enable Layout/LineLength
|
16
19
|
|
17
20
|
STANDARD_FIELDS = [
|
18
21
|
TITLE,
|
@@ -20,6 +23,7 @@ module BerkeleyLibrary
|
|
20
23
|
CREATOR_PERSONAL,
|
21
24
|
CREATOR_CORPORATE,
|
22
25
|
TRACKS,
|
26
|
+
TRANSCRIPTS,
|
23
27
|
CATALOG_LINK
|
24
28
|
].freeze
|
25
29
|
|
data/rakelib/spec.rake
CHANGED
@@ -3,7 +3,7 @@ require 'rspec/core/rake_task'
|
|
3
3
|
namespace :spec do
|
4
4
|
desc 'Run all tests'
|
5
5
|
RSpec::Core::RakeTask.new(:all) do |task|
|
6
|
-
task.rspec_opts = %w[--color --format documentation
|
6
|
+
task.rspec_opts = %w[--color --format documentation]
|
7
7
|
task.pattern = 'spec/**/*_spec.rb'
|
8
8
|
end
|
9
9
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
|
2
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
3
|
+
<collection xmlns="http://www.loc.gov/MARC21/slim">
|
4
|
+
<record>
|
5
|
+
<controlfield tag="001">207666</controlfield>
|
6
|
+
<controlfield tag="005">20231106135319.0</controlfield>
|
7
|
+
<datafield tag="035" ind1=" " ind2=" ">
|
8
|
+
<subfield code="a">drilmav-00004</subfield>
|
9
|
+
</datafield>
|
10
|
+
<datafield tag="245" ind1=" " ind2=" ">
|
11
|
+
<subfield code="a">On changes regarding discrimination against people with disabilities</subfield>
|
12
|
+
</datafield>
|
13
|
+
<datafield tag="336" ind1=" " ind2=" ">
|
14
|
+
<subfield code="a">Audio</subfield>
|
15
|
+
</datafield>
|
16
|
+
<datafield tag="540" ind1=" " ind2=" ">
|
17
|
+
<subfield code="a">Researchers may make free and open use of the UC Berkeley Library’s digitized public domain materials. However, some materials in our online collections may be protected by U.S. copyright law (Title 17, U.S.C.). Use or reproduction of materials protected by copyright beyond that allowed by fair use (Title 17, U.S.C. § 107) requires permission from the copyright owners. The use or reproduction of some materials may also be restricted by terms of University of California gift or purchase agreements, privacy and publicity rights, or trademark law. Responsibility for determining rights status and permissibility of any use or reproduction rests exclusively with the researcher. To learn more or make inquiries, please see our permissions policies (https://www.lib.berkeley.edu/about/permissions-policies).
|
18
|
+
</subfield>
|
19
|
+
</datafield>
|
20
|
+
<datafield tag="700" ind1="1" ind2=" ">
|
21
|
+
<subfield code="a">Billings, Carol Fewell</subfield>
|
22
|
+
</datafield>
|
23
|
+
<datafield tag="852" ind1=" " ind2=" ">
|
24
|
+
<subfield code="c">The Bancroft Library</subfield>
|
25
|
+
</datafield>
|
26
|
+
<datafield tag="856" ind1="4" ind2="2">
|
27
|
+
<subfield code="u">https://avplayer.lib.berkeley.edu/ROHOAudio/drilmav-00004</subfield>
|
28
|
+
<subfield code="y">Play Audio</subfield>
|
29
|
+
</datafield>
|
30
|
+
<datafield tag="856" ind1="4" ind2="2">
|
31
|
+
<subfield code="u">https://digitalassets.lib.berkeley.edu/audio/transcript/Carol_Fewell_Billings_Transcript.pdf</subfield>
|
32
|
+
<subfield code="y">Transcript of audio file</subfield>
|
33
|
+
</datafield>
|
34
|
+
<datafield tag="902" ind1=" " ind2=" ">
|
35
|
+
<subfield code="d">2/3/21</subfield>
|
36
|
+
<subfield code="n">SMS</subfield>
|
37
|
+
</datafield>
|
38
|
+
<datafield tag="909" ind1="C" ind2="O">
|
39
|
+
<subfield code="o">oai:digicoll.lib.berkeley.edu:207666</subfield>
|
40
|
+
<subfield code="q">mcleanCalisphere_oai</subfield>
|
41
|
+
</datafield>
|
42
|
+
<datafield tag="980" ind1=" " ind2=" ">
|
43
|
+
<subfield code="a">DRILM: AV</subfield>
|
44
|
+
</datafield>
|
45
|
+
<datafield tag="982" ind1=" " ind2=" ">
|
46
|
+
<subfield code="b">Disability Rights and Independent Living Movement</subfield>
|
47
|
+
</datafield>
|
48
|
+
<datafield tag="982" ind1=" " ind2=" ">
|
49
|
+
<subfield code="a">Disability Rights Movement</subfield>
|
50
|
+
</datafield>
|
51
|
+
<datafield tag="998" ind1=" " ind2=" ">
|
52
|
+
<subfield code="g">billings1.mp3</subfield>
|
53
|
+
</datafield>
|
54
|
+
</record>
|
55
|
+
</collection>
|
@@ -9,7 +9,7 @@ module BerkeleyLibrary
|
|
9
9
|
Config.send(:clear!)
|
10
10
|
end
|
11
11
|
|
12
|
-
describe
|
12
|
+
describe :configured? do
|
13
13
|
it 'defaults to false' do
|
14
14
|
expect(AV.configured?).to eq(false)
|
15
15
|
end
|
@@ -66,7 +66,7 @@ module BerkeleyLibrary
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
describe
|
69
|
+
describe :missing do
|
70
70
|
it 'defaults to all settings' do
|
71
71
|
expect(Config.missing).to eq(Config::REQUIRED_SETTINGS)
|
72
72
|
end
|
@@ -107,6 +107,52 @@ module BerkeleyLibrary
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
+
describe :log_settings! do
|
111
|
+
it 'logs all settings' do
|
112
|
+
settings = {
|
113
|
+
avplayer_base_uri: 'http://avplayer.example.edu',
|
114
|
+
alma_sru_host: 'berkeley.alma.exlibrisgroup.com',
|
115
|
+
alma_primo_host: 'search.library.berkeley.edu',
|
116
|
+
alma_institution_code: '01UCS_BER',
|
117
|
+
alma_permalink_key: 'iqob43',
|
118
|
+
tind_base_uri: 'http://tind.example.edu',
|
119
|
+
wowza_base_uri: 'http://wowza.example.edu'
|
120
|
+
}
|
121
|
+
settings.each { |setting, value| Config.send("#{setting}=", value) }
|
122
|
+
|
123
|
+
expect(BerkeleyLibrary::Logging.logger)
|
124
|
+
.to receive(:info).with(/config/i, settings:)
|
125
|
+
Config.log_settings!
|
126
|
+
end
|
127
|
+
|
128
|
+
it 'logs nil for missing settings' do
|
129
|
+
settings = Config::REQUIRED_SETTINGS.to_h { |attr| [attr, nil] }
|
130
|
+
|
131
|
+
expect(BerkeleyLibrary::Logging.logger)
|
132
|
+
.to receive(:info).with(/config/i, settings:)
|
133
|
+
Config.log_settings!
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'accepts a custom logger' do
|
137
|
+
settings = {
|
138
|
+
avplayer_base_uri: 'http://avplayer.example.edu',
|
139
|
+
alma_sru_host: 'berkeley.alma.exlibrisgroup.com',
|
140
|
+
alma_primo_host: 'search.library.berkeley.edu',
|
141
|
+
alma_institution_code: '01UCS_BER',
|
142
|
+
alma_permalink_key: 'iqob43',
|
143
|
+
tind_base_uri: 'http://tind.example.edu',
|
144
|
+
wowza_base_uri: 'http://wowza.example.edu'
|
145
|
+
}
|
146
|
+
settings.each { |setting, value| Config.send("#{setting}=", value) }
|
147
|
+
|
148
|
+
logger = instance_double(Ougai::Logger)
|
149
|
+
expect(logger)
|
150
|
+
.to receive(:info).with(/config/i, settings:)
|
151
|
+
|
152
|
+
Config.log_settings!(to_logger: logger)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
110
156
|
describe :avplayer_base_uri= do
|
111
157
|
it 'converts strings to URIs' do
|
112
158
|
expected_uri = URI.parse('http://avplayer.example.edu')
|
@@ -66,6 +66,27 @@ module BerkeleyLibrary
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
+
context 'transcripts' do
|
70
|
+
it 'extracts transcripts from TIND records' do
|
71
|
+
marc_record = MARC::XMLReader.new('spec/data/record-audio-multiple-856s.xml').first
|
72
|
+
field = Field.new(order: 999, label: 'Transcripts', spec: "#{TAG_TRANSCRIPT_FIELD}{$y~\\Transcript}{^1=\\4}{^2=\\2}", subfield_order: %w[u y])
|
73
|
+
value = field.value_from(marc_record)
|
74
|
+
expect(value).to be_a(Value)
|
75
|
+
expected_transcript = AV::Metadata::Link.new(
|
76
|
+
url: 'https://digitalassets.lib.berkeley.edu/audio/transcript/Carol_Fewell_Billings_Transcript.pdf',
|
77
|
+
body: 'Transcript of audio file'
|
78
|
+
)
|
79
|
+
expect(value.entries).to contain_exactly(expected_transcript)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'doesn\'t break when there are no transcripts' do
|
83
|
+
marc_record = MARC::XMLReader.new('spec/data/record-(pacradio)01469.xml').first
|
84
|
+
field = Field.new(order: 999, label: 'Transcripts', spec: "#{TAG_TRANSCRIPT_FIELD}{$y~\\Transcript}{^1=\\4}{^2=\\2}", subfield_order: %w[u y])
|
85
|
+
value = field.value_from(marc_record)
|
86
|
+
expect(value).to be_nil
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
69
90
|
describe :hash do
|
70
91
|
it 'returns the same hash for identical Fields' do
|
71
92
|
f1 = Field.new(order: 2, label: 'Description', spec: '520$a')
|
@@ -75,7 +75,8 @@ module BerkeleyLibrary
|
|
75
75
|
Field.new(order: 86, spec: '991$a', label: 'Access', subfields_separator: ', '),
|
76
76
|
Field.new(order: 89, spec: '982$a', label: 'Collection'),
|
77
77
|
Field.new(order: 99, spec: '998', label: 'Tracks', subfield_order: %w[g t a]),
|
78
|
-
Field.new(order:
|
78
|
+
Field.new(order: 998, spec: '856{^1=\4}{^2=\1}', label: 'Linked Resources'),
|
79
|
+
Field.new(order: 999, spec: '856{$y~\Transcript}{^1=\4}{^2=\2}', label: 'Transcripts', subfield_order: %w[u y])
|
79
80
|
]
|
80
81
|
|
81
82
|
fields = Fields.default_fields
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: berkeley_library-av-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Moles
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: berkeley_library-logging
|
@@ -322,6 +322,7 @@ extra_rdoc_files: []
|
|
322
322
|
files:
|
323
323
|
- ".dockerignore"
|
324
324
|
- ".github/workflows/build.yml"
|
325
|
+
- ".github/workflows/gem-push.yml"
|
325
326
|
- ".gitignore"
|
326
327
|
- ".idea/av_core.iml"
|
327
328
|
- ".idea/codeStyles/Project.xml"
|
@@ -336,7 +337,6 @@ files:
|
|
336
337
|
- ".simplecov"
|
337
338
|
- CHANGES.md
|
338
339
|
- Gemfile
|
339
|
-
- Jenkinsfile
|
340
340
|
- LICENSE.md
|
341
341
|
- README.md
|
342
342
|
- Rakefile
|
@@ -396,6 +396,7 @@ files:
|
|
396
396
|
- spec/data/record-(miscmat)00615.xml
|
397
397
|
- spec/data/record-(pacradio)00107.xml
|
398
398
|
- spec/data/record-(pacradio)01469.xml
|
399
|
+
- spec/data/record-audio-multiple-856s.xml
|
399
400
|
- spec/data/record-empty-result.xml
|
400
401
|
- spec/data/record-multiple-998s-disordered.xml
|
401
402
|
- spec/data/record-multiple-998s.xml
|
@@ -422,12 +423,12 @@ files:
|
|
422
423
|
- spec/lib/berkeley_library/av/types/file_type_spec.rb
|
423
424
|
- spec/lib/berkeley_library/av/util_spec.rb
|
424
425
|
- spec/spec_helper.rb
|
425
|
-
homepage: https://
|
426
|
+
homepage: https://github.com/BerkeleyLibrary/av-core
|
426
427
|
licenses:
|
427
428
|
- MIT
|
428
429
|
metadata:
|
429
430
|
rubygems_mfa_required: 'true'
|
430
|
-
post_install_message:
|
431
|
+
post_install_message:
|
431
432
|
rdoc_options: []
|
432
433
|
require_paths:
|
433
434
|
- lib
|
@@ -442,8 +443,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
442
443
|
- !ruby/object:Gem::Version
|
443
444
|
version: '0'
|
444
445
|
requirements: []
|
445
|
-
rubygems_version: 3.
|
446
|
-
signing_key:
|
446
|
+
rubygems_version: 3.4.19
|
447
|
+
signing_key:
|
447
448
|
specification_version: 4
|
448
449
|
summary: UC Berkeley Library audio/video core code
|
449
450
|
test_files:
|
@@ -471,6 +472,7 @@ test_files:
|
|
471
472
|
- spec/data/record-(miscmat)00615.xml
|
472
473
|
- spec/data/record-(pacradio)00107.xml
|
473
474
|
- spec/data/record-(pacradio)01469.xml
|
475
|
+
- spec/data/record-audio-multiple-856s.xml
|
474
476
|
- spec/data/record-empty-result.xml
|
475
477
|
- spec/data/record-multiple-998s-disordered.xml
|
476
478
|
- spec/data/record-multiple-998s.xml
|
data/Jenkinsfile
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
dockerComposePipeline(
|
2
|
-
commands: [
|
3
|
-
'bundle exec rake coverage',
|
4
|
-
'bundle exec rake rubocop',
|
5
|
-
'bundle exec rake bundle:audit',
|
6
|
-
'bundle exec rake gem'
|
7
|
-
],
|
8
|
-
artifacts: [
|
9
|
-
junit: 'artifacts/rspec/**/*.xml',
|
10
|
-
html : [
|
11
|
-
'Code Coverage': 'artifacts/rcov',
|
12
|
-
'RuboCop' : 'artifacts/rubocop'
|
13
|
-
],
|
14
|
-
raw : ['artifacts/**/*.gem']
|
15
|
-
]
|
16
|
-
)
|