noids_client 0.0.1 → 0.0.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 +5 -5
- data/.ruby-version +1 -0
- data/Gemfile.lock +69 -0
- data/README.md +17 -36
- data/Rakefile +6 -0
- data/lib/noids_client.rb +2 -0
- data/lib/noids_client/integration_test.rb +197 -0
- data/lib/noids_client/version.rb +1 -1
- data/noids_client.gemspec +5 -6
- data/spec/spec_helper.rb +3 -0
- metadata +43 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d4e277f7ca5cb6bb3a0eba3670ee692b602b81e4bcdda3d3af6dff21d9c4337b
|
4
|
+
data.tar.gz: 6485dcabc35930a63069f921bdad1737ce4c909fb8254e0c74fccf352976932d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ab807c004ef88ff8b5d07837b23b6d51907f986ef7da6b59e50d67469721f26eec679eebd2834ca3beca8ad99d6d63f42582c9c89b152aab54703db0106ad1a
|
7
|
+
data.tar.gz: 478760ee3bb0ae3459bd477d811dd0ef7de27d858f3be5c6b72bb26c149f4622b273a66f2a91683b1e9c6adff63d481128f1e3087f29fc063302dac128afcded
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.0
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
noids_client (0.0.1)
|
5
|
+
json (~> 1.8)
|
6
|
+
rest-client (~> 2.0)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
|
+
byebug (11.1.3)
|
14
|
+
crack (0.4.4)
|
15
|
+
diff-lcs (1.4.4)
|
16
|
+
domain_name (0.5.20190701)
|
17
|
+
unf (>= 0.0.5, < 1.0.0)
|
18
|
+
hashdiff (1.0.1)
|
19
|
+
http-accept (1.7.0)
|
20
|
+
http-cookie (1.0.3)
|
21
|
+
domain_name (~> 0.5)
|
22
|
+
json (1.8.6)
|
23
|
+
mime-types (3.3.1)
|
24
|
+
mime-types-data (~> 3.2015)
|
25
|
+
mime-types-data (3.2020.1104)
|
26
|
+
netrc (0.11.0)
|
27
|
+
public_suffix (4.0.6)
|
28
|
+
rake (10.5.0)
|
29
|
+
rest-client (2.1.0)
|
30
|
+
http-accept (>= 1.7.0, < 2.0)
|
31
|
+
http-cookie (>= 1.0.2, < 2.0)
|
32
|
+
mime-types (>= 1.16, < 4.0)
|
33
|
+
netrc (~> 0.8)
|
34
|
+
rspec (3.10.0)
|
35
|
+
rspec-core (~> 3.10.0)
|
36
|
+
rspec-expectations (~> 3.10.0)
|
37
|
+
rspec-mocks (~> 3.10.0)
|
38
|
+
rspec-core (3.10.0)
|
39
|
+
rspec-support (~> 3.10.0)
|
40
|
+
rspec-expectations (3.10.0)
|
41
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
42
|
+
rspec-support (~> 3.10.0)
|
43
|
+
rspec-mocks (3.10.0)
|
44
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
45
|
+
rspec-support (~> 3.10.0)
|
46
|
+
rspec-support (3.10.0)
|
47
|
+
unf (0.1.4)
|
48
|
+
unf_ext
|
49
|
+
unf_ext (0.0.7.7)
|
50
|
+
vcr (2.9.3)
|
51
|
+
webmock (3.10.0)
|
52
|
+
addressable (>= 2.3.6)
|
53
|
+
crack (>= 0.3.2)
|
54
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
55
|
+
|
56
|
+
PLATFORMS
|
57
|
+
ruby
|
58
|
+
|
59
|
+
DEPENDENCIES
|
60
|
+
bundler (~> 1.3)
|
61
|
+
byebug
|
62
|
+
noids_client!
|
63
|
+
rake (~> 10.3)
|
64
|
+
rspec (~> 3.0)
|
65
|
+
vcr (~> 2.8)
|
66
|
+
webmock (~> 3.0)
|
67
|
+
|
68
|
+
BUNDLED WITH
|
69
|
+
1.17.2
|
data/README.md
CHANGED
@@ -38,47 +38,28 @@ This limitation is imposed by the server.
|
|
38
38
|
|
39
39
|
# Setting up a noids server
|
40
40
|
|
41
|
-
|
42
|
-
However, for testing or experimentation it is convinent to set up a noids server, which is not difficult.
|
41
|
+
Follow the instructions at https://github.com/ndlib/noids
|
43
42
|
|
44
|
-
|
43
|
+
# Running tests
|
45
44
|
|
46
|
-
|
45
|
+
You can run the test suite by `bundle exec rspec`. This will not hit a live noid
|
46
|
+
server. The specs instead rely on recorded HTTP request/response pairs.
|
47
47
|
|
48
|
-
|
49
|
-
mkdir ~/gocode
|
50
|
-
export GOPATH=~/gocode
|
51
|
-
export PATH=$GOPATH/bin:$PATH
|
48
|
+
## Testing Noids::Client against a live noid server
|
52
49
|
|
53
|
-
|
50
|
+
First, you'll want to ensure that you've installed a noids server. Follow the
|
51
|
+
directions over at https://github.com/ndlib/noids.
|
54
52
|
|
55
|
-
|
53
|
+
Then run `bundle exec rake test_client_against_server`.
|
56
54
|
|
57
|
-
|
55
|
+
## Upstream Integrations
|
58
56
|
|
59
|
-
|
60
|
-
|
61
|
-
These pools will be lost when the server is restarted.
|
62
|
-
To save the pools to disk use
|
63
|
-
|
64
|
-
noids -storage directory/to/use
|
65
|
-
|
66
|
-
There are other options, including saving the pools to a database.
|
67
|
-
See the documentation on the [noids server](https://github.com/dbrower/noids) page.
|
68
|
-
|
69
|
-
You can test the server using `curl`.
|
70
|
-
Note that the default port for the server to listen on is 13001.
|
71
|
-
These commands will create a pool named 'test' which will generate ids using the template `.sddd`.
|
72
|
-
Then 50 ids are minted, and the pool is advanced past the id `432`, so that `432` will never be minted by this pool.
|
73
|
-
|
74
|
-
curl 'http://localhost:13001/pools' -F 'name=test' -F 'template=.sddd'
|
75
|
-
curl 'http://localhost:13001/pools/test/mint' -F 'n=50'
|
76
|
-
curl 'http://localhost:13001/pools/test/advancePast' -F 'id=432'
|
77
|
-
|
78
|
-
|
79
|
-
## On Linux
|
80
|
-
|
81
|
-
Install a golang envrionment. This should be done using your package management system.
|
82
|
-
e.g. `yum install golang`.
|
83
|
-
Then follow the remaining steps above.
|
57
|
+
You can incorporate a live yet local noid server in your upstream suite.
|
84
58
|
|
59
|
+
```ruby
|
60
|
+
require 'noids_client/integration_test'
|
61
|
+
# Note: the block will be yielded after the server has had a chance
|
62
|
+
# to spin up
|
63
|
+
NoidsClient::IntegrationTest::NoidServerRunner.new.run do
|
64
|
+
# Code to run that requires a noid server
|
65
|
+
end
|
data/Rakefile
CHANGED
data/lib/noids_client.rb
CHANGED
@@ -0,0 +1,197 @@
|
|
1
|
+
require 'noids_client'
|
2
|
+
|
3
|
+
module NoidsClient
|
4
|
+
# A helper class that allows for downstream implementers of the noids_clients
|
5
|
+
# gem to run against a "live" noids server
|
6
|
+
#
|
7
|
+
# @example
|
8
|
+
# require 'noids_client/integration_test'
|
9
|
+
# NoidsClient::IntegrationTest.run
|
10
|
+
#
|
11
|
+
# @see #initialize for .run parameters
|
12
|
+
module IntegrationTest
|
13
|
+
class AssertionFailedError < RuntimeError
|
14
|
+
end
|
15
|
+
def self.default_logger
|
16
|
+
require 'logger'
|
17
|
+
Logger.new(STDOUT)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @params spawn_noids_server [Boolean] rely on this script (and a configured
|
21
|
+
# machine) to launch a new noids server
|
22
|
+
# @params logger [Logger] to report all the details
|
23
|
+
#
|
24
|
+
# @see TestRunner#initialize for kwargs options
|
25
|
+
# @see NoidServerRunner#initialize for kwargs options
|
26
|
+
#
|
27
|
+
# @raises AssertionFailedError if any of the integration tests fail
|
28
|
+
# @return true if all integration tests pass
|
29
|
+
def self.run(spawn_noids_server: false, logger: default_logger, **kwargs)
|
30
|
+
if spawn_noids_server
|
31
|
+
NoidServerRunner.new(logger: logger, **kwargs).run do
|
32
|
+
TestRunner.new(logger: logger, **kwargs).run
|
33
|
+
end
|
34
|
+
else
|
35
|
+
TestRunner.new(logger: logger, **kwargs).run
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
# A utility class to help running a NOIDs server within the context
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# require 'noids_client/integration_test'
|
44
|
+
# NoidsClient::IntegrationTest::NoidServerRunner.new do
|
45
|
+
# # thing that requires a noids server
|
46
|
+
# end
|
47
|
+
#
|
48
|
+
class NoidServerRunner
|
49
|
+
# @param kwargs [Hash] the configuration options for the NoidsServer. Note,
|
50
|
+
# you shouldn't need to pass parameters if you follow the noids
|
51
|
+
# documentation
|
52
|
+
# @option logger [#debug, #info]
|
53
|
+
# @option storage_dir [String]
|
54
|
+
# @option file_utils [#mkdir_p, #rm_rf] the object that will manage cleaning
|
55
|
+
# the storage_dir
|
56
|
+
# @option noids_command [String] the fully expanded to the noids command
|
57
|
+
# @option seconds_to_wait [Integer] how long to wait for the noids server to
|
58
|
+
# fully boot
|
59
|
+
def initialize(**kwargs)
|
60
|
+
@logger = kwargs.fetch(:logger) { IntegrationTest.default_logger }
|
61
|
+
logger.debug("logger: #{logger.inspect}")
|
62
|
+
@storage_dir = kwargs.fetch(:storage_dir) { default_storage_dir }
|
63
|
+
logger.debug("storage_dir: #{storage_dir.inspect}")
|
64
|
+
@file_utils = kwargs.fetch(:file_utils) { default_file_utils }
|
65
|
+
logger.debug("file_utils: #{file_utils.inspect}")
|
66
|
+
@noids_command = kwargs.fetch(:noids_command) { default_noids_command }
|
67
|
+
logger.debug("noids_command: #{noids_command.inspect}")
|
68
|
+
@seconds_to_wait = kwargs.fetch(:seconds_to_wait) { SECONDS_TO_WAIT }
|
69
|
+
logger.debug("seconds_to_wait: #{seconds_to_wait}")
|
70
|
+
end
|
71
|
+
|
72
|
+
attr_reader :storage_dir, :noids_command, :logger, :file_utils, :seconds_to_wait
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def default_storage_dir
|
77
|
+
File.join(ENV.fetch("HOME"), "noids_pool")
|
78
|
+
end
|
79
|
+
|
80
|
+
def default_noids_command
|
81
|
+
File.join(ENV.fetch("GOPATH"), "bin/noids")
|
82
|
+
end
|
83
|
+
|
84
|
+
def default_file_utils
|
85
|
+
require 'fileutils'
|
86
|
+
FileUtils
|
87
|
+
end
|
88
|
+
|
89
|
+
public
|
90
|
+
|
91
|
+
SECONDS_TO_WAIT = 5
|
92
|
+
def run
|
93
|
+
clean_storage!
|
94
|
+
process_id = Process.spawn("#{noids_command} --storage #{storage_dir}")
|
95
|
+
Process.detach(process_id)
|
96
|
+
logger.debug("Waiting #{seconds_to_wait} seconds for noids to start")
|
97
|
+
sleep(seconds_to_wait)
|
98
|
+
yield if block_given?
|
99
|
+
ensure
|
100
|
+
stop_noids!(process_id: process_id)
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
def clean_storage!
|
106
|
+
logger.info("Cleaning noids: #{storage_dir}")
|
107
|
+
file_utils.rm_rf(storage_dir)
|
108
|
+
file_utils.mkdir_p(storage_dir)
|
109
|
+
end
|
110
|
+
|
111
|
+
def start_noids!
|
112
|
+
# `$GOPATH/bin/noids --storage ~/noids_pool`
|
113
|
+
logger.info("Starting noids server…")
|
114
|
+
IO.popen("#{noids_command} --storage #{storage_dir}", err: [:child, :out])
|
115
|
+
end
|
116
|
+
|
117
|
+
def stop_noids!(process_id:)
|
118
|
+
logger.info("Shutting down server…")
|
119
|
+
Process.kill(:SIGINT, process_id)
|
120
|
+
return true
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
|
125
|
+
class TestRunner
|
126
|
+
# @param kwargs [Hash] the configuration options for the NoidsServer. Note,
|
127
|
+
# you shouldn't need to pass parameters if you follow the noids
|
128
|
+
# documentation
|
129
|
+
# @option logger [#debug, #info]
|
130
|
+
# @option noids_url [String]
|
131
|
+
# @option connection_class [#new] a connection class that implements the
|
132
|
+
# NoidsClient::Connection object interface
|
133
|
+
def initialize(**kwargs)
|
134
|
+
@logger = kwargs.fetch(:logger) { IntegrationTest.default_logger }
|
135
|
+
logger.debug("logger: #{logger.inspect}")
|
136
|
+
@noids_url = kwargs.fetch(:noids_url) { default_noids_url }
|
137
|
+
@connection_class = kwargs.fetch(:connection_class) { default_connection_class }
|
138
|
+
connect!
|
139
|
+
end
|
140
|
+
attr_reader :noids_url, :logger, :connection, :connection_class
|
141
|
+
|
142
|
+
private
|
143
|
+
|
144
|
+
def connect!
|
145
|
+
logger.debug "Using #{noids_url} to connect via #{connection_class}"
|
146
|
+
@connection = connection_class.new(noids_url)
|
147
|
+
end
|
148
|
+
|
149
|
+
def default_noids_url
|
150
|
+
default_noids_url = "http://localhost:13001"
|
151
|
+
ENV.fetch("NOIDS_URL") do
|
152
|
+
default_noids_url
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def default_logger
|
157
|
+
require 'logger'
|
158
|
+
Logger.new(STDOUT)
|
159
|
+
end
|
160
|
+
|
161
|
+
def default_connection_class
|
162
|
+
require 'noids_client'
|
163
|
+
NoidsClient::Connection
|
164
|
+
end
|
165
|
+
|
166
|
+
public
|
167
|
+
|
168
|
+
def run
|
169
|
+
assert(connection.pool_list.empty?, "Expected connection.pool_list to be empty")
|
170
|
+
new_pool = connection.new_pool("test", ".sddd")
|
171
|
+
assert(new_pool, "Expected to be able to create a pool")
|
172
|
+
assert(connection.pool_list.include?("test"), "Expected connection.pool_list to include test")
|
173
|
+
pool = connection.get_pool("test")
|
174
|
+
assert(pool.name == "test", "Expected pool to be named 'test'")
|
175
|
+
assert(pool.ids_used == 0, "Expected pool to have no used IDs")
|
176
|
+
ids = pool.mint(2)
|
177
|
+
assert(ids.size == 2, "Expected to mint 2 ids with `pool.mint(2)`")
|
178
|
+
assert(pool.close, "Expected close to be successful")
|
179
|
+
assert(pool.open, "Expected to be able to re-open the pool")
|
180
|
+
assert(pool.ids_used == 2, "Expected the previously minted ids to register as used")
|
181
|
+
return true
|
182
|
+
end
|
183
|
+
|
184
|
+
private
|
185
|
+
|
186
|
+
def assert(boolean_test, expectation_message)
|
187
|
+
if boolean_test # The test passed
|
188
|
+
logger.info expectation_message
|
189
|
+
return true
|
190
|
+
else
|
191
|
+
logger.fatal "FAILED EXPECTATION: #{expectation_message}"
|
192
|
+
raise AssertionFailedError, "FAILED EXPECTATION: #{expectation_message}"
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
data/lib/noids_client/version.rb
CHANGED
data/noids_client.gemspec
CHANGED
@@ -8,23 +8,22 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = NoidsClient::VERSION
|
9
9
|
spec.summary = 'Ruby client for a NOIDS server'
|
10
10
|
spec.description = %q{Provides an idiomatic interface to the REST API of a noids server (see https://github.com/dbrower/noids)}
|
11
|
-
spec.authors = ['Don Brower']
|
12
|
-
spec.email = ['dbrower@nd.edu']
|
11
|
+
spec.authors = ['Don Brower', "Jeremy Friesen"]
|
12
|
+
spec.email = ['dbrower@nd.edu', "jeremy.n.friesen@gmail.com"]
|
13
13
|
spec.license = 'APACHE2'
|
14
|
-
spec.homepage = 'https://github.com/ndlib/noids_client'
|
15
14
|
|
16
15
|
spec.files = `git ls-files`.split($/)
|
17
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
18
|
spec.require_paths = ["lib"]
|
20
19
|
|
21
|
-
spec.add_dependency 'rest-client', '~>
|
20
|
+
spec.add_dependency 'rest-client', '~> 2.0'
|
22
21
|
spec.add_dependency 'json', '~> 1.8'
|
23
22
|
|
24
23
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
25
24
|
spec.add_development_dependency 'rake', '~> 10.3'
|
26
25
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
26
|
spec.add_development_dependency 'vcr', '~> 2.8'
|
28
|
-
spec.add_development_dependency 'webmock', '~>
|
27
|
+
spec.add_development_dependency 'webmock', '~> 3.0'
|
28
|
+
spec.add_development_dependency 'byebug'
|
29
29
|
end
|
30
|
-
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,127 +1,146 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noids_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Don Brower
|
8
|
+
- Jeremy Friesen
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2020-12-03 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rest-client
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- - ~>
|
18
|
+
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
+
version: '2.0'
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- - ~>
|
25
|
+
- - "~>"
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
+
version: '2.0'
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: json
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- - ~>
|
32
|
+
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: '1.8'
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- - ~>
|
39
|
+
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '1.8'
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: bundler
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - ~>
|
46
|
+
- - "~>"
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '1.3'
|
48
49
|
type: :development
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- - ~>
|
53
|
+
- - "~>"
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: '1.3'
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: rake
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
|
-
- - ~>
|
60
|
+
- - "~>"
|
60
61
|
- !ruby/object:Gem::Version
|
61
62
|
version: '10.3'
|
62
63
|
type: :development
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
|
-
- - ~>
|
67
|
+
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
69
|
version: '10.3'
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
71
|
name: rspec
|
71
72
|
requirement: !ruby/object:Gem::Requirement
|
72
73
|
requirements:
|
73
|
-
- - ~>
|
74
|
+
- - "~>"
|
74
75
|
- !ruby/object:Gem::Version
|
75
76
|
version: '3.0'
|
76
77
|
type: :development
|
77
78
|
prerelease: false
|
78
79
|
version_requirements: !ruby/object:Gem::Requirement
|
79
80
|
requirements:
|
80
|
-
- - ~>
|
81
|
+
- - "~>"
|
81
82
|
- !ruby/object:Gem::Version
|
82
83
|
version: '3.0'
|
83
84
|
- !ruby/object:Gem::Dependency
|
84
85
|
name: vcr
|
85
86
|
requirement: !ruby/object:Gem::Requirement
|
86
87
|
requirements:
|
87
|
-
- - ~>
|
88
|
+
- - "~>"
|
88
89
|
- !ruby/object:Gem::Version
|
89
90
|
version: '2.8'
|
90
91
|
type: :development
|
91
92
|
prerelease: false
|
92
93
|
version_requirements: !ruby/object:Gem::Requirement
|
93
94
|
requirements:
|
94
|
-
- - ~>
|
95
|
+
- - "~>"
|
95
96
|
- !ruby/object:Gem::Version
|
96
97
|
version: '2.8'
|
97
98
|
- !ruby/object:Gem::Dependency
|
98
99
|
name: webmock
|
99
100
|
requirement: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
|
-
- - ~>
|
102
|
+
- - "~>"
|
102
103
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
+
version: '3.0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '3.0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: byebug
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
104
119
|
type: :development
|
105
120
|
prerelease: false
|
106
121
|
version_requirements: !ruby/object:Gem::Requirement
|
107
122
|
requirements:
|
108
|
-
- -
|
123
|
+
- - ">="
|
109
124
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
125
|
+
version: '0'
|
111
126
|
description: Provides an idiomatic interface to the REST API of a noids server (see
|
112
127
|
https://github.com/dbrower/noids)
|
113
128
|
email:
|
114
129
|
- dbrower@nd.edu
|
130
|
+
- jeremy.n.friesen@gmail.com
|
115
131
|
executables: []
|
116
132
|
extensions: []
|
117
133
|
extra_rdoc_files: []
|
118
134
|
files:
|
135
|
+
- ".ruby-version"
|
119
136
|
- Gemfile
|
137
|
+
- Gemfile.lock
|
120
138
|
- LICENSE
|
121
139
|
- README.md
|
122
140
|
- Rakefile
|
123
141
|
- lib/noids_client.rb
|
124
142
|
- lib/noids_client/connection.rb
|
143
|
+
- lib/noids_client/integration_test.rb
|
125
144
|
- lib/noids_client/pool.rb
|
126
145
|
- lib/noids_client/version.rb
|
127
146
|
- noids_client.gemspec
|
@@ -129,7 +148,7 @@ files:
|
|
129
148
|
- spec/lib/integration_spec.rb
|
130
149
|
- spec/lib/pool_spec.rb
|
131
150
|
- spec/spec_helper.rb
|
132
|
-
homepage:
|
151
|
+
homepage:
|
133
152
|
licenses:
|
134
153
|
- APACHE2
|
135
154
|
metadata: {}
|
@@ -139,17 +158,16 @@ require_paths:
|
|
139
158
|
- lib
|
140
159
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
160
|
requirements:
|
142
|
-
- -
|
161
|
+
- - ">="
|
143
162
|
- !ruby/object:Gem::Version
|
144
163
|
version: '0'
|
145
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
165
|
requirements:
|
147
|
-
- -
|
166
|
+
- - ">="
|
148
167
|
- !ruby/object:Gem::Version
|
149
168
|
version: '0'
|
150
169
|
requirements: []
|
151
|
-
|
152
|
-
rubygems_version: 2.1.11
|
170
|
+
rubygems_version: 3.0.1
|
153
171
|
signing_key:
|
154
172
|
specification_version: 4
|
155
173
|
summary: Ruby client for a NOIDS server
|
@@ -158,4 +176,3 @@ test_files:
|
|
158
176
|
- spec/lib/integration_spec.rb
|
159
177
|
- spec/lib/pool_spec.rb
|
160
178
|
- spec/spec_helper.rb
|
161
|
-
has_rdoc:
|