dor-services-client 0.1.0 → 0.2.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/.rubocop.yml +3 -0
- data/.rubocop_todo.yml +26 -0
- data/.travis.yml +14 -1
- data/Gemfile +4 -2
- data/README.md +5 -0
- data/Rakefile +8 -3
- data/bin/console +4 -3
- data/dor-services-client.gemspec +17 -15
- data/lib/dor/services/client.rb +57 -32
- data/lib/dor/services/client/files.rb +37 -0
- data/lib/dor/services/client/objects.rb +31 -0
- data/lib/dor/services/client/release_tags.rb +42 -0
- data/lib/dor/services/client/version.rb +3 -1
- data/lib/dor/services/client/workflow.rb +28 -0
- data/lib/dor/services/client/workspace.rb +29 -0
- metadata +28 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cc04584524185c77cc51392ebe2d26cdd52c62811bdefcec67c34823c7f2c77
|
4
|
+
data.tar.gz: 66c0e4f1c3bc51f9e5ac0236a4d08fa7e10b4a5dcec95323a791a8c9556f1dce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 552b9071818b8ea4705176e2bcb52feb695d932c836e5e3ea65698a81e9cfc0e42e228de5ab05a115eb29cb1fa72c14a23593ea226365c25bad89305e4aaf750
|
7
|
+
data.tar.gz: 88f1e631dc93a138cd8747fb25c16914011ff89be2d992d44f0660c39cc8989ced643785e4bb49446523ac3dfa57a3e1b41499342366976704a4c5b3ccf65c5a
|
data/.rubocop.yml
ADDED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2018-12-18 09:21:53 -0800 using RuboCop version 0.60.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 3
|
10
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
11
|
+
# ExcludedMethods: refine
|
12
|
+
Metrics/BlockLength:
|
13
|
+
Max: 104
|
14
|
+
|
15
|
+
# Offense count: 1
|
16
|
+
Style/Documentation:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/**/*'
|
19
|
+
- 'test/**/*'
|
20
|
+
- 'lib/dor/services/client.rb'
|
21
|
+
|
22
|
+
# Offense count: 10
|
23
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
24
|
+
# URISchemes: http, https
|
25
|
+
Metrics/LineLength:
|
26
|
+
Max: 115
|
data/.travis.yml
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
# single test suite, non-parallel build.
|
3
|
+
|
4
|
+
env:
|
5
|
+
global:
|
6
|
+
- CC_TEST_REPORTER_ID=47b57fbbf65654b17f33b6ff4a108ce2abed31a86468033f20eb4d4e9e09935a
|
2
7
|
language: ruby
|
3
8
|
cache: bundler
|
4
9
|
rvm:
|
5
10
|
- 2.5.3
|
6
11
|
before_install: gem install bundler -v 1.17.1
|
12
|
+
before_script:
|
13
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
14
|
+
- chmod +x ./cc-test-reporter
|
15
|
+
- ./cc-test-reporter before-build
|
16
|
+
script:
|
17
|
+
- bundle exec rspec
|
18
|
+
after_script:
|
19
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/Gemfile
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
4
6
|
|
5
7
|
# Specify your gem's dependencies in dor-services-client.gemspec
|
6
8
|
gemspec
|
data/README.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
[](https://badge.fury.io/rb/dor-services-client)
|
2
|
+
[](https://travis-ci.com/sul-dlss/dor-services-client)
|
3
|
+
[](https://codeclimate.com/github/sul-dlss/dor-services-client)
|
4
|
+
[](https://codeclimate.com/github/sul-dlss/dor-services-client/coverage)
|
5
|
+
|
1
6
|
# Dor::Services::Client
|
2
7
|
|
3
8
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/dor/services/client`. To experiment with that code, run `bin/console` for an interactive prompt.
|
data/Rakefile
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
-
|
2
|
-
require "rspec/core/rake_task"
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
require 'rubocop/rake_task'
|
6
|
+
|
7
|
+
RuboCop::RakeTask.new
|
4
8
|
RSpec::Core::RakeTask.new(:spec)
|
5
9
|
|
6
|
-
|
10
|
+
desc 'Run linter and tests'
|
11
|
+
task default: %i[rubocop spec]
|
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'dor/services/client'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "dor/services/client"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/dor-services-client.gemspec
CHANGED
@@ -1,31 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
|
-
lib = File.expand_path(
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
5
|
+
require 'dor/services/client/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
+
spec.name = 'dor-services-client'
|
8
9
|
spec.version = Dor::Services::Client::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
10
|
+
spec.authors = ['Justin Coyne', 'Michael Giarlo']
|
11
|
+
spec.email = ['jcoyne@justincoyne.com', 'leftwing@alumni.rutgers.edu']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
+
spec.summary = 'A client for dor-services-app'
|
13
14
|
spec.homepage = 'https://github.com/sul-dlss/dor-services-client'
|
14
15
|
|
15
16
|
# Specify which files should be added to the gem when it is released.
|
16
17
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
17
|
-
spec.files = Dir.chdir(File.expand_path(
|
18
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
18
19
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
20
|
end
|
20
|
-
spec.bindir =
|
21
|
+
spec.bindir = 'exe'
|
21
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
-
spec.require_paths = [
|
23
|
+
spec.require_paths = ['lib']
|
23
24
|
|
24
|
-
spec.add_dependency
|
25
|
-
spec.add_dependency
|
25
|
+
spec.add_dependency 'activesupport', '~> 5.0'
|
26
|
+
spec.add_dependency 'faraday', '~> 0.15'
|
26
27
|
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
28
|
+
spec.add_development_dependency 'bundler', '~> 1.17'
|
29
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
30
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
31
|
+
spec.add_development_dependency 'rubocop', '~> 0.61.0'
|
32
|
+
spec.add_development_dependency 'webmock'
|
31
33
|
end
|
data/lib/dor/services/client.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'dor/services/client/version'
|
2
4
|
require 'singleton'
|
3
5
|
require 'faraday'
|
4
6
|
require 'active_support/core_ext/hash/indifferent_access'
|
7
|
+
require 'dor/services/client/files'
|
8
|
+
require 'dor/services/client/objects'
|
9
|
+
require 'dor/services/client/release_tags'
|
10
|
+
require 'dor/services/client/workflow'
|
11
|
+
require 'dor/services/client/workspace'
|
5
12
|
|
6
13
|
module Dor
|
7
14
|
module Services
|
@@ -10,6 +17,25 @@ module Dor
|
|
10
17
|
|
11
18
|
include Singleton
|
12
19
|
|
20
|
+
def objects
|
21
|
+
@objects ||= Objects.new(connection: connection)
|
22
|
+
end
|
23
|
+
|
24
|
+
def files
|
25
|
+
@files ||= Files.new(connection: connection)
|
26
|
+
end
|
27
|
+
|
28
|
+
def workflow
|
29
|
+
@workflow ||= Workflow.new(connection: connection)
|
30
|
+
end
|
31
|
+
|
32
|
+
def workspace
|
33
|
+
@workspace ||= Workspace.new(connection: connection)
|
34
|
+
end
|
35
|
+
|
36
|
+
def release_tags
|
37
|
+
@release_tags ||= ReleaseTags.new(connection: connection)
|
38
|
+
end
|
13
39
|
|
14
40
|
def self.configure(url:)
|
15
41
|
instance.url = url
|
@@ -18,60 +44,59 @@ module Dor
|
|
18
44
|
# Creates a new object in DOR
|
19
45
|
# @return [HashWithIndifferentAccess] the response, which includes a :pid
|
20
46
|
def self.register(params:)
|
21
|
-
instance.register(params: params)
|
47
|
+
instance.objects.register(params: params)
|
22
48
|
end
|
23
49
|
|
24
50
|
# @param [String] object the identifier for the object
|
25
51
|
# @param [String] filename the name of the file to retrieve
|
26
52
|
# @return [String] the file contents from the workspace
|
27
53
|
def self.retrieve_file(object:, filename:)
|
28
|
-
instance.
|
54
|
+
instance.files.retrieve(object: object, filename: filename)
|
29
55
|
end
|
30
56
|
|
31
57
|
# @param [String] object the identifier for the object
|
32
58
|
# @return [Array<String>] the list of filenames in the workspace
|
33
59
|
def self.list_files(object:)
|
34
|
-
instance.
|
60
|
+
instance.files.list(object: object)
|
35
61
|
end
|
36
62
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
63
|
+
# Initializes a new workflow
|
64
|
+
# @param object [String] the pid for the object
|
65
|
+
# @param wf_name [String] the name of the workflow
|
66
|
+
# @raises [Error] if the request is unsuccessful.
|
67
|
+
# @return nil
|
68
|
+
def self.initialize_workflow(object:, wf_name:)
|
69
|
+
instance.workflow.create(object: object, wf_name: wf_name)
|
41
70
|
end
|
42
71
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
raise "#{resp.reason_phrase}: #{resp.status} (#{resp.body})" unless resp.success?
|
51
|
-
JSON.parse(resp.body).with_indifferent_access
|
72
|
+
# Initializes a new workspace
|
73
|
+
# @param object [String] the pid for the object
|
74
|
+
# @param source [String] the path to the object
|
75
|
+
# @raises [Error] if the request is unsuccessful.
|
76
|
+
# @return nil
|
77
|
+
def self.initialize_workspace(object:, source:)
|
78
|
+
instance.workspace.create(object: object, source: source)
|
52
79
|
end
|
53
80
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
81
|
+
# Creates a new release tag for the object
|
82
|
+
# @param object [String] the pid for the object
|
83
|
+
# @param release [Boolean]
|
84
|
+
# @param what [String]
|
85
|
+
# @param to [String]
|
86
|
+
# @param who [String]
|
87
|
+
# @return [Boolean] true if successful
|
88
|
+
def self.create_release_tag(object:, release:, what:, to:, who:)
|
89
|
+
instance.release_tags.create(object: object, release: release, what: what, to: to, who: who)
|
61
90
|
end
|
62
91
|
|
63
|
-
|
64
|
-
resp = connection.get do |req|
|
65
|
-
req.url "v1/objects/#{object}/contents"
|
66
|
-
end
|
67
|
-
return [] unless resp.success?
|
68
|
-
|
69
|
-
json = JSON.parse(resp.body)
|
70
|
-
json['items'].map { |item| item['name'] }
|
71
|
-
end
|
92
|
+
attr_writer :url
|
72
93
|
|
73
94
|
private
|
74
95
|
|
96
|
+
def url
|
97
|
+
@url || raise(Error, 'url has not yet been configured')
|
98
|
+
end
|
99
|
+
|
75
100
|
def connection
|
76
101
|
@connection ||= Faraday.new(url)
|
77
102
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API calls relating to files
|
7
|
+
class Files
|
8
|
+
def initialize(connection:)
|
9
|
+
@connection = connection
|
10
|
+
end
|
11
|
+
|
12
|
+
def retrieve(object:, filename:)
|
13
|
+
resp = connection.get do |req|
|
14
|
+
req.url "v1/objects/#{object}/contents/#{filename}"
|
15
|
+
end
|
16
|
+
return unless resp.success?
|
17
|
+
|
18
|
+
resp.body
|
19
|
+
end
|
20
|
+
|
21
|
+
def list(object:)
|
22
|
+
resp = connection.get do |req|
|
23
|
+
req.url "v1/objects/#{object}/contents"
|
24
|
+
end
|
25
|
+
return [] unless resp.success?
|
26
|
+
|
27
|
+
json = JSON.parse(resp.body)
|
28
|
+
json['items'].map { |item| item['name'] }
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
attr_reader :connection
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API calls that are about a repository object
|
7
|
+
class Objects
|
8
|
+
def initialize(connection:)
|
9
|
+
@connection = connection
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_reader :connection
|
13
|
+
|
14
|
+
# Creates a new object in DOR
|
15
|
+
# @return [HashWithIndifferentAccess] the response, which includes a :pid
|
16
|
+
def register(params:)
|
17
|
+
resp = connection.post do |req|
|
18
|
+
req.url 'v1/objects'
|
19
|
+
req.headers['Content-Type'] = 'application/json'
|
20
|
+
# asking the service to return JSON (else it'll be plain text)
|
21
|
+
req.headers['Accept'] = 'application/json'
|
22
|
+
req.body = params.to_json
|
23
|
+
end
|
24
|
+
raise Error, "#{resp.reason_phrase}: #{resp.status} (#{resp.body})" unless resp.success?
|
25
|
+
|
26
|
+
JSON.parse(resp.body).with_indifferent_access
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API calls that are about a repository object
|
7
|
+
class ReleaseTags
|
8
|
+
def initialize(connection:)
|
9
|
+
@connection = connection
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_reader :connection
|
13
|
+
|
14
|
+
# Creates a new release tag for the object
|
15
|
+
# @param object [String] the pid for the object
|
16
|
+
# @param release [Boolean]
|
17
|
+
# @param what [String]
|
18
|
+
# @param to [String]
|
19
|
+
# @param who [String]
|
20
|
+
# @return [Boolean] true if successful
|
21
|
+
# rubocop:disable Metrics/MethodLength
|
22
|
+
def create(object:, release:, what:, to:, who:)
|
23
|
+
params = {
|
24
|
+
to: to,
|
25
|
+
who: who,
|
26
|
+
what: what,
|
27
|
+
release: release
|
28
|
+
}
|
29
|
+
resp = connection.post do |req|
|
30
|
+
req.url "v1/objects/#{object}/release_tags"
|
31
|
+
req.headers['Content-Type'] = 'application/json'
|
32
|
+
req.body = params.to_json
|
33
|
+
end
|
34
|
+
raise Error, "#{resp.reason_phrase}: #{resp.status} (#{resp.body})" unless resp.success?
|
35
|
+
|
36
|
+
true
|
37
|
+
end
|
38
|
+
# rubocop:enable Metrics/MethodLength
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API calls that are about workflow
|
7
|
+
class Workflow
|
8
|
+
def initialize(connection:)
|
9
|
+
@connection = connection
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_reader :connection
|
13
|
+
|
14
|
+
# Begin a new workflow
|
15
|
+
# @param object [String] the pid for the object
|
16
|
+
# @param wf_name [String] the name of the workflow
|
17
|
+
# @raises [Error] if the request is unsuccessful.
|
18
|
+
# @return nil
|
19
|
+
def create(object:, wf_name:)
|
20
|
+
resp = connection.post do |req|
|
21
|
+
req.url "v1/objects/#{object}/apo_workflows/#{wf_name}"
|
22
|
+
end
|
23
|
+
raise Error, "#{resp.reason_phrase}: #{resp.status} (#{resp.body})" unless resp.success?
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API calls that are about the DOR workspace
|
7
|
+
class Workspace
|
8
|
+
def initialize(connection:)
|
9
|
+
@connection = connection
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_reader :connection
|
13
|
+
|
14
|
+
# Initializes a new workspace
|
15
|
+
# @param object [String] the pid for the object
|
16
|
+
# @param source [String] the path to the object
|
17
|
+
# @raises [Error] if the request is unsuccessful.
|
18
|
+
# @return nil
|
19
|
+
def create(object:, source:)
|
20
|
+
resp = connection.post do |req|
|
21
|
+
req.url "v1/objects/#{object}/initialize_workspace"
|
22
|
+
req.params['source'] = source
|
23
|
+
end
|
24
|
+
raise Error, "#{resp.reason_phrase}: #{resp.status} (#{resp.body})" unless resp.success?
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
@@ -12,33 +12,33 @@ cert_chain: []
|
|
12
12
|
date: 2018-12-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0
|
20
|
+
version: '5.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '0
|
27
|
+
version: '5.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: faraday
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '0.15'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '0.15'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: bundler
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,6 +81,20 @@ dependencies:
|
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '3.0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rubocop
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.61.0
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.61.0
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
99
|
name: webmock
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,6 +119,8 @@ extra_rdoc_files: []
|
|
105
119
|
files:
|
106
120
|
- ".gitignore"
|
107
121
|
- ".rspec"
|
122
|
+
- ".rubocop.yml"
|
123
|
+
- ".rubocop_todo.yml"
|
108
124
|
- ".travis.yml"
|
109
125
|
- Gemfile
|
110
126
|
- README.md
|
@@ -113,7 +129,12 @@ files:
|
|
113
129
|
- bin/setup
|
114
130
|
- dor-services-client.gemspec
|
115
131
|
- lib/dor/services/client.rb
|
132
|
+
- lib/dor/services/client/files.rb
|
133
|
+
- lib/dor/services/client/objects.rb
|
134
|
+
- lib/dor/services/client/release_tags.rb
|
116
135
|
- lib/dor/services/client/version.rb
|
136
|
+
- lib/dor/services/client/workflow.rb
|
137
|
+
- lib/dor/services/client/workspace.rb
|
117
138
|
homepage: https://github.com/sul-dlss/dor-services-client
|
118
139
|
licenses: []
|
119
140
|
metadata: {}
|