dor-services-client 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![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)
|
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
|
+
[![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
|
+
|
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: {}
|