dor-services-client 6.6.0 → 6.10.0
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/.circleci/config.yml +35 -0
- data/README.md +1 -5
- data/dor-services-client.gemspec +2 -2
- data/lib/dor/services/client/administrative_tags.rb +1 -1
- data/lib/dor/services/client/object.rb +10 -14
- data/lib/dor/services/client/version.rb +1 -1
- metadata +14 -15
- data/.travis.yml +0 -21
- data/lib/dor/services/client/files.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 100692a2016a9172306d678af150cdf96246e8f3ee4e0fb315f91d6c57d21849
|
4
|
+
data.tar.gz: e43f7f082f6578a8f3011cf8efa53c177fe7826a7594545d384203d5d1836cc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14f0d08f0ed94bf85785d2c4e83e33ee24ef37ac250392c6ffeb404e1ef07d21e58a11ed8e3991ec4bbfecb1f23881d66b6875a5388ffb8d6e76f73fa354c01a
|
7
|
+
data.tar.gz: 5ca058e0009c830f78f4dd866352ccc97b212536d5bc5b1106c472437fc1d59f190fab1c24cf2093a60daf513691c83847b01eece4d8eb7da90a23eeaca84837
|
@@ -0,0 +1,35 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
build:
|
5
|
+
docker:
|
6
|
+
- image: circleci/ruby:2.7.1
|
7
|
+
environment:
|
8
|
+
CC_TEST_REPORTER_ID: 47b57fbbf65654b17f33b6ff4a108ce2abed31a86468033f20eb4d4e9e09935a
|
9
|
+
RAILS_ENV: test
|
10
|
+
steps:
|
11
|
+
- checkout
|
12
|
+
- run:
|
13
|
+
name: Install Bundler
|
14
|
+
command: gem install bundler
|
15
|
+
- run:
|
16
|
+
name: Which bundler?
|
17
|
+
command: bundle -v
|
18
|
+
- run:
|
19
|
+
name: Bundle Install
|
20
|
+
command: bundle check || bundle install
|
21
|
+
- run:
|
22
|
+
name: Lint using rubocop
|
23
|
+
command: bundle exec rubocop
|
24
|
+
- run:
|
25
|
+
name: Setup Code Climate test-reporter
|
26
|
+
command: |
|
27
|
+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
28
|
+
chmod +x ./cc-test-reporter
|
29
|
+
./cc-test-reporter before-build
|
30
|
+
- run:
|
31
|
+
name: rspec
|
32
|
+
command: bundle exec rspec
|
33
|
+
- run:
|
34
|
+
name: upload test coverage report to Code Climate
|
35
|
+
command: ./cc-test-reporter after-build --coverage-input-type simplecov --exit-code $?
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
[](https://badge.fury.io/rb/dor-services-client)
|
2
|
-
[](https://circleci.com/gh/sul-dlss/dor-services-client)
|
3
3
|
[](https://codeclimate.com/github/sul-dlss/dor-services-client)
|
4
4
|
[](https://codeclimate.com/github/sul-dlss/dor-services-client/coverage)
|
5
5
|
|
@@ -142,10 +142,6 @@ object_client.collections
|
|
142
142
|
# Query for a collection's members
|
143
143
|
object_client.members
|
144
144
|
|
145
|
-
# View information about an object's files
|
146
|
-
object_client.files.retrieve(filename: filename_string)
|
147
|
-
object_client.files.list
|
148
|
-
|
149
145
|
# Create, update, destroy, and list administrative tags for an object
|
150
146
|
object_client.administrative_tags.create(tags: ['Tag : One', 'Tag : Two'])
|
151
147
|
object_client.administrative_tags.replace(tags: ['Tag : One', 'Tag : Two']) # like #create but removes current tags first
|
data/dor-services-client.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
25
|
spec.add_dependency 'activesupport', '>= 4.2', '< 7'
|
26
|
-
spec.add_dependency 'cocina-models', '~> 0.
|
26
|
+
spec.add_dependency 'cocina-models', '~> 0.37.0' # leave pinned to patch level until cocina-models hits 1.0
|
27
27
|
spec.add_dependency 'deprecation', '>= 0'
|
28
28
|
spec.add_dependency 'faraday', '>= 0.15', '< 2'
|
29
29
|
spec.add_dependency 'moab-versioning', '~> 4.0'
|
@@ -34,6 +34,6 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_development_dependency 'rake', '>= 12.3.3'
|
35
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
36
36
|
spec.add_development_dependency 'rubocop', '~> 0.61.0'
|
37
|
-
spec.add_development_dependency 'simplecov'
|
37
|
+
spec.add_development_dependency 'simplecov', '~> 0.17.0' # CodeClimate cannot use SimpleCov >= 0.18.0 for generating test coverage
|
38
38
|
spec.add_development_dependency 'webmock'
|
39
39
|
end
|
@@ -49,7 +49,7 @@ module Dor
|
|
49
49
|
#
|
50
50
|
# @raise [NotFoundResponse] when the response is a 404 (object not found)
|
51
51
|
# @raise [UnexpectedResponse] if the request is unsuccessful.
|
52
|
-
# @return [
|
52
|
+
# @return [Array<String>]
|
53
53
|
def list
|
54
54
|
resp = connection.get do |req|
|
55
55
|
req.url "#{api_version}/objects/#{object_identifier}/administrative_tags"
|
@@ -16,39 +16,35 @@ module Dor
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def metadata
|
19
|
-
@metadata ||= Metadata.new(parent_params)
|
19
|
+
@metadata ||= Metadata.new(**parent_params)
|
20
20
|
end
|
21
21
|
|
22
22
|
def events
|
23
|
-
@events ||= Events.new(parent_params)
|
24
|
-
end
|
25
|
-
|
26
|
-
def files
|
27
|
-
@files ||= Files.new(parent_params)
|
23
|
+
@events ||= Events.new(**parent_params)
|
28
24
|
end
|
29
25
|
|
30
26
|
def workspace
|
31
|
-
@workspace ||= Workspace.new(parent_params)
|
27
|
+
@workspace ||= Workspace.new(**parent_params)
|
32
28
|
end
|
33
29
|
|
34
30
|
def release_tags
|
35
|
-
@release_tags ||= ReleaseTags.new(parent_params)
|
31
|
+
@release_tags ||= ReleaseTags.new(**parent_params)
|
36
32
|
end
|
37
33
|
|
38
34
|
def administrative_tags
|
39
|
-
@administrative_tags ||= AdministrativeTags.new(parent_params)
|
35
|
+
@administrative_tags ||= AdministrativeTags.new(**parent_params)
|
40
36
|
end
|
41
37
|
|
42
38
|
def version
|
43
|
-
@version ||= ObjectVersion.new(parent_params)
|
39
|
+
@version ||= ObjectVersion.new(**parent_params)
|
44
40
|
end
|
45
41
|
|
46
42
|
def embargo
|
47
|
-
@embargo ||= Embargo.new(parent_params)
|
43
|
+
@embargo ||= Embargo.new(**parent_params)
|
48
44
|
end
|
49
45
|
|
50
46
|
def accession(params = {})
|
51
|
-
@accession ||= Accession.new(parent_params.merge(params))
|
47
|
+
@accession ||= Accession.new(**parent_params.merge(params))
|
52
48
|
end
|
53
49
|
|
54
50
|
# Retrieves the Cocina model
|
@@ -88,14 +84,14 @@ module Dor
|
|
88
84
|
# @raise [UnexpectedResponse] if the request is unsuccessful.
|
89
85
|
# @return [Array<Cocina::Models::DRO>]
|
90
86
|
def collections
|
91
|
-
Collections.new(parent_params).collections
|
87
|
+
Collections.new(**parent_params).collections
|
92
88
|
end
|
93
89
|
|
94
90
|
# Get a list of the members
|
95
91
|
# @raise [UnexpectedResponse] if the request is unsuccessful.
|
96
92
|
# @return [Array<Members::Member>]
|
97
93
|
def members
|
98
|
-
Members.new(parent_params).members
|
94
|
+
Members.new(**parent_params).members
|
99
95
|
end
|
100
96
|
|
101
97
|
# Publish an object (send to PURL)
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
8
|
- Michael Giarlo
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-08-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -37,14 +37,14 @@ dependencies:
|
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.37.0
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.37.0
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: deprecation
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,16 +181,16 @@ dependencies:
|
|
181
181
|
name: simplecov
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- - "
|
184
|
+
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version:
|
186
|
+
version: 0.17.0
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
|
-
- - "
|
191
|
+
- - "~>"
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version:
|
193
|
+
version: 0.17.0
|
194
194
|
- !ruby/object:Gem::Dependency
|
195
195
|
name: webmock
|
196
196
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,7 +205,7 @@ dependencies:
|
|
205
205
|
- - ">="
|
206
206
|
- !ruby/object:Gem::Version
|
207
207
|
version: '0'
|
208
|
-
description:
|
208
|
+
description:
|
209
209
|
email:
|
210
210
|
- jcoyne@justincoyne.com
|
211
211
|
- leftwing@alumni.rutgers.edu
|
@@ -213,12 +213,12 @@ executables: []
|
|
213
213
|
extensions: []
|
214
214
|
extra_rdoc_files: []
|
215
215
|
files:
|
216
|
+
- ".circleci/config.yml"
|
216
217
|
- ".github/pull_request_template.md"
|
217
218
|
- ".gitignore"
|
218
219
|
- ".rspec"
|
219
220
|
- ".rubocop.yml"
|
220
221
|
- ".rubocop_todo.yml"
|
221
|
-
- ".travis.yml"
|
222
222
|
- Gemfile
|
223
223
|
- LICENSE
|
224
224
|
- README.md
|
@@ -237,7 +237,6 @@ files:
|
|
237
237
|
- lib/dor/services/client/embargo.rb
|
238
238
|
- lib/dor/services/client/error_faraday_middleware.rb
|
239
239
|
- lib/dor/services/client/events.rb
|
240
|
-
- lib/dor/services/client/files.rb
|
241
240
|
- lib/dor/services/client/marcxml.rb
|
242
241
|
- lib/dor/services/client/members.rb
|
243
242
|
- lib/dor/services/client/metadata.rb
|
@@ -253,7 +252,7 @@ files:
|
|
253
252
|
homepage: https://github.com/sul-dlss/dor-services-client
|
254
253
|
licenses: []
|
255
254
|
metadata: {}
|
256
|
-
post_install_message:
|
255
|
+
post_install_message:
|
257
256
|
rdoc_options: []
|
258
257
|
require_paths:
|
259
258
|
- lib
|
@@ -268,8 +267,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
268
267
|
- !ruby/object:Gem::Version
|
269
268
|
version: '0'
|
270
269
|
requirements: []
|
271
|
-
rubygems_version: 3.
|
272
|
-
signing_key:
|
270
|
+
rubygems_version: 3.1.2
|
271
|
+
signing_key:
|
273
272
|
specification_version: 4
|
274
273
|
summary: A client for dor-services-app
|
275
274
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
env:
|
2
|
-
global:
|
3
|
-
- CC_TEST_REPORTER_ID=47b57fbbf65654b17f33b6ff4a108ce2abed31a86468033f20eb4d4e9e09935a
|
4
|
-
language: ruby
|
5
|
-
cache: bundler
|
6
|
-
rvm:
|
7
|
-
- 2.5.3
|
8
|
-
|
9
|
-
env:
|
10
|
-
- "RAILS_VERSION=5.2.3"
|
11
|
-
- "RAILS_VERSION=6.0.0"
|
12
|
-
|
13
|
-
before_script:
|
14
|
-
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
15
|
-
- chmod +x ./cc-test-reporter
|
16
|
-
- ./cc-test-reporter before-build
|
17
|
-
after_script:
|
18
|
-
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
19
|
-
|
20
|
-
notifications:
|
21
|
-
email: false
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Dor
|
4
|
-
module Services
|
5
|
-
class Client
|
6
|
-
# API calls relating to files
|
7
|
-
class Files < VersionedService
|
8
|
-
# @param object_identifier [String] the pid for the object
|
9
|
-
def initialize(connection:, version:, object_identifier:)
|
10
|
-
super(connection: connection, version: version)
|
11
|
-
@object_identifier = object_identifier
|
12
|
-
end
|
13
|
-
|
14
|
-
# Get the contents from the workspace
|
15
|
-
# @param [String] filename the name of the file to retrieve
|
16
|
-
# @return [String] the file contents from the workspace
|
17
|
-
def retrieve(filename:)
|
18
|
-
resp = connection.get do |req|
|
19
|
-
req.url "#{api_version}/objects/#{object_identifier}/contents/#{filename}"
|
20
|
-
end
|
21
|
-
return unless resp.success?
|
22
|
-
|
23
|
-
resp.body
|
24
|
-
end
|
25
|
-
|
26
|
-
# Get the list of files in the workspace
|
27
|
-
# @return [Array<String>] the list of filenames in the workspace
|
28
|
-
def list
|
29
|
-
resp = connection.get do |req|
|
30
|
-
req.url "#{api_version}/objects/#{object_identifier}/contents"
|
31
|
-
end
|
32
|
-
return [] unless resp.success?
|
33
|
-
|
34
|
-
json = JSON.parse(resp.body)
|
35
|
-
json['items'].map { |item| item['name'] }
|
36
|
-
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
attr_reader :object_identifier
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|