dor-services-client 6.5.0 → 6.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89c1a897efc199c5f31da3d68f9c3fd2bdc4c09759579a30a339477651081ced
4
- data.tar.gz: da3a34afb64f21ff964ddffdaeba44d1a8fa45fb15126d4cbb77b3e1f89f3cc5
3
+ metadata.gz: 0e437f16c6420ff3bc2eccb9cb0b930cbf9c1165459489cdf72d42f8cd325833
4
+ data.tar.gz: 7596e0976e75804c0220424b65a57a859f76355ab47f50707d3a9ad3d31ecbf4
5
5
  SHA512:
6
- metadata.gz: 1fbd52e84678d731a29392b94b13fd68fba69e57fb70e0f4af906dc1838ef741ec02cd6e0b9adf9d0c4919d8d19b8c815d34c4933b14b9660fe05f79436f1f61
7
- data.tar.gz: 36f45f7241b8de8900b6e93a2fbe39240e1a0280c2ff9dc78c9be1e14d2e3a41252d43b6799c22dd3e509b4e2a399db17bb359054226680ed89cff5737234852
6
+ metadata.gz: b8033e11ce7f63d4672f9b3188d2dab475de08c50654a64ccdc9d1abfb84656d74b411e0cbc29dcd67c1e4c746c3c6a8357ba5589f0ffaf588326e20baba5175
7
+ data.tar.gz: f2bb012c927a405fe4731427f21d9e5cb29847e6823aee4febf52a6ca97400ba7ca5789238429cfa72fdbe8df280e632f26e5212e567d3c4e6cf94df95bbe2c9
@@ -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
  [![Gem Version](https://badge.fury.io/rb/dor-services-client.svg)](https://badge.fury.io/rb/dor-services-client)
2
- [![Build Status](https://travis-ci.com/sul-dlss/dor-services-client.svg?branch=master)](https://travis-ci.com/sul-dlss/dor-services-client)
2
+ [![CircleCI](https://circleci.com/gh/sul-dlss/dor-services-client.svg?style=svg)](https://circleci.com/gh/sul-dlss/dor-services-client)
3
3
  [![Code Climate](https://codeclimate.com/github/sul-dlss/dor-services-client/badges/gpa.svg)](https://codeclimate.com/github/sul-dlss/dor-services-client)
4
4
  [![Code Climate Test Coverage](https://codeclimate.com/github/sul-dlss/dor-services-client/badges/coverage.svg)](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
@@ -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.33.0' # leave pinned to patch level until cocina-models hits 1.0
26
+ spec.add_dependency 'cocina-models', '~> 0.36.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 [Hash]
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"
@@ -21,10 +21,11 @@ module Dor
21
21
  # @option opts [Hash] :identity Data for identity metadata
22
22
  # @option opts [Hash] :technical Data for technical metadata
23
23
  # @option opts [Hash] :provenance Data for provenance metadata
24
+ # @option opts [Hash] :geo Data for geographic metadata
24
25
  # @example:
25
26
  # legacy_update(descriptive: { updated: '2001-12-20', content: '<descMetadata />' })
26
27
  def legacy_update(opts)
27
- opts = opts.slice(:descriptive, :rights, :identity, :content, :technical, :provenance)
28
+ opts = opts.slice(:descriptive, :rights, :identity, :content, :technical, :provenance, :geo)
28
29
  resp = connection.patch do |req|
29
30
  req.url "#{base_path}/legacy"
30
31
  req.headers['Content-Type'] = 'application/json'
@@ -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)
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Services
5
5
  class Client
6
- VERSION = '6.5.0'
6
+ VERSION = '6.9.0'
7
7
  end
8
8
  end
9
9
  end
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.5.0
4
+ version: 6.9.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-05-28 00:00:00.000000000 Z
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.33.0
40
+ version: 0.36.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.33.0
47
+ version: 0.36.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: '0'
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: '0'
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.0.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: []
@@ -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