nonnative 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0292cb47c3b5dd84a72fe796a9c79786c0b7d8f985e929d68721065574085787'
4
- data.tar.gz: 8dd04b6a8aec3558eb7ce839cfadab05c103522a9b2abcf6fe25a5965a0fba65
3
+ metadata.gz: b342347f6be998e220a90e065471da151f97fe661ce1a18c6843a6f2c81d5b47
4
+ data.tar.gz: e36b5b6271410fd78cbe4075ae995da6ead56ffdd6da65491d7b7ede35256b48
5
5
  SHA512:
6
- metadata.gz: 5fc72c86c9d9d4a923be4621e02998b0788f6d04f56914db327e6c259551cd9a167545e86e1539ad5022153bdfc98f18a9fb2132b3b8fb6fdc481ead255ea67e
7
- data.tar.gz: 5795b717396395ff711ffbe2480ce157b0b9196c6933845fdd7060d0816e91233fab67a541d1046919205c1eefd1c893a2e3f0b70ac0e91bb2f65e316af7d17d
6
+ metadata.gz: d60ba529be7d27ba12cdf44e967687fb3e43d402002ff256df975604112a92b5e352a0114932dac879fe1c05f874fc9158840c6fa905dd65d3693bd2944c1933
7
+ data.tar.gz: d0009a466f80cf9b81da0954083c36828298d46d2236d960154d75c742e0fa06b23ee677db3b06bc5615cc4d427536733b344beaa0c4ba9f2728c748385fe191
data/.rubocop.yml CHANGED
@@ -25,3 +25,9 @@ Style/HashTransformValues:
25
25
 
26
26
  Lint/StructNewOverride:
27
27
  Enabled: true
28
+
29
+ Layout/SpaceAroundMethodCallOperator:
30
+ Enabled: true
31
+
32
+ Style/ExponentialNotation:
33
+ Enabled: true
data/Gemfile.lock CHANGED
@@ -1,17 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.5.0)
5
- cucumber
6
- rspec-expectations
7
- semantic_logger
4
+ nonnative (1.6.0)
5
+ cucumber (~> 3.1, >= 3.1.2)
6
+ grpc (~> 1.28)
7
+ rest-client (~> 2.1)
8
+ rspec-expectations (~> 3.9, >= 3.9.2)
9
+ semantic_logger (~> 4.6, >= 4.6.1)
10
+ sinatra (~> 2.0, >= 2.0.8.1)
8
11
 
9
12
  GEM
10
13
  remote: https://rubygems.org/
11
14
  specs:
12
15
  ast (2.4.0)
13
16
  backport (1.1.2)
14
- backports (3.17.0)
17
+ backports (3.17.1)
15
18
  benchmark (0.1.0)
16
19
  benchmark-malloc (0.2.0)
17
20
  benchmark-perf (0.6.0)
@@ -36,20 +39,46 @@ GEM
36
39
  cucumber-wire (0.0.1)
37
40
  diff-lcs (1.3)
38
41
  docile (1.3.2)
42
+ domain_name (0.5.20190701)
43
+ unf (>= 0.0.5, < 1.0.0)
39
44
  e2mmap (0.1.0)
40
45
  gherkin (5.1.0)
46
+ google-protobuf (3.11.4)
47
+ googleapis-common-protos-types (1.0.5)
48
+ google-protobuf (~> 3.11)
49
+ grpc (1.28.0)
50
+ google-protobuf (~> 3.11)
51
+ googleapis-common-protos-types (~> 1.0)
52
+ grpc-tools (1.28.0)
53
+ http-accept (1.7.0)
54
+ http-cookie (1.0.3)
55
+ domain_name (~> 0.5)
41
56
  jaro_winkler (1.5.4)
42
57
  maruku (0.7.3)
58
+ mime-types (3.3.1)
59
+ mime-types-data (~> 3.2015)
60
+ mime-types-data (3.2020.0425)
43
61
  mini_portile2 (2.4.0)
44
62
  multi_json (1.14.1)
45
63
  multi_test (0.1.2)
64
+ mustermann (1.1.1)
65
+ ruby2_keywords (~> 0.0.1)
66
+ netrc (0.11.0)
46
67
  nokogiri (1.10.9)
47
68
  mini_portile2 (~> 2.4.0)
48
69
  parallel (1.19.1)
49
- parser (2.7.0.5)
70
+ parser (2.7.1.2)
50
71
  ast (~> 2.4.0)
72
+ rack (2.2.2)
73
+ rack-protection (2.0.8.1)
74
+ rack
51
75
  rainbow (3.0.0)
52
76
  rake (13.0.1)
77
+ rest-client (2.1.0)
78
+ http-accept (>= 1.7.0, < 2.0)
79
+ http-cookie (>= 1.0.2, < 2.0)
80
+ mime-types (>= 1.16, < 4.0)
81
+ netrc (~> 0.8)
53
82
  reverse_markdown (1.4.0)
54
83
  nokogiri
55
84
  rexml (3.2.4)
@@ -64,14 +93,14 @@ GEM
64
93
  rspec (>= 3.0)
65
94
  rspec-core (3.9.1)
66
95
  rspec-support (~> 3.9.1)
67
- rspec-expectations (3.9.1)
96
+ rspec-expectations (3.9.2)
68
97
  diff-lcs (>= 1.2.0, < 2.0)
69
98
  rspec-support (~> 3.9.0)
70
99
  rspec-mocks (3.9.1)
71
100
  diff-lcs (>= 1.2.0, < 2.0)
72
101
  rspec-support (~> 3.9.0)
73
- rspec-support (3.9.2)
74
- rubocop (0.81.0)
102
+ rspec-support (3.9.3)
103
+ rubocop (0.82.0)
75
104
  jaro_winkler (~> 1.5.1)
76
105
  parallel (~> 1.10)
77
106
  parser (>= 2.7.0.1)
@@ -80,13 +109,19 @@ GEM
80
109
  ruby-progressbar (~> 1.7)
81
110
  unicode-display_width (>= 1.4.0, < 2.0)
82
111
  ruby-progressbar (1.10.1)
112
+ ruby2_keywords (0.0.2)
83
113
  semantic_logger (4.6.1)
84
114
  concurrent-ruby (~> 1.0)
85
115
  simplecov (0.18.5)
86
116
  docile (~> 1.1)
87
117
  simplecov-html (~> 0.11)
88
118
  simplecov-html (0.12.2)
89
- solargraph (0.38.6)
119
+ sinatra (2.0.8.1)
120
+ mustermann (~> 1.0)
121
+ rack (~> 2.0)
122
+ rack-protection (= 2.0.8.1)
123
+ tilt (~> 2.0)
124
+ solargraph (0.39.7)
90
125
  backport (~> 1.1)
91
126
  benchmark
92
127
  bundler (>= 1.17.2)
@@ -99,23 +134,27 @@ GEM
99
134
  rubocop (~> 0.52)
100
135
  thor (~> 1.0)
101
136
  tilt (~> 2.0)
102
- yard (~> 0.9)
137
+ yard (~> 0.9, >= 0.9.24)
103
138
  thor (1.0.1)
104
139
  tilt (2.0.10)
140
+ unf (0.1.4)
141
+ unf_ext
142
+ unf_ext (0.0.7.7)
105
143
  unicode-display_width (1.7.0)
106
- yard (0.9.24)
144
+ yard (0.9.25)
107
145
 
108
146
  PLATFORMS
109
147
  ruby
110
148
 
111
149
  DEPENDENCIES
112
- bundler
150
+ bundler (~> 2.1, >= 2.1.4)
151
+ grpc-tools (~> 1.28)
113
152
  nonnative!
114
- rake
115
- rspec-benchmark
116
- rubocop
117
- simplecov
118
- solargraph
153
+ rake (~> 13.0, >= 13.0.1)
154
+ rspec-benchmark (~> 0.6.0)
155
+ rubocop (~> 0.82.0)
156
+ simplecov (~> 0.18.5)
157
+ solargraph (~> 0.39.7)
119
158
 
120
159
  BUNDLED WITH
121
160
  2.1.4
data/README.md CHANGED
@@ -32,11 +32,12 @@ Or install it yourself as:
32
32
 
33
33
  Configure nonnative with the following:
34
34
 
35
- - Process that you want to start.
35
+ - Process/Server that you want to start.
36
36
  - A timeout value.
37
37
  - Port to verify.
38
- - The file you want STDOUT to be logged to.
39
- - The strategy (Startup will start the process once and before will hook into cucumbers Before and After).
38
+ - The class for servers.
39
+ - The file you want STDOUT to be logged to for processes.
40
+ - The strategy (Startup will start the process once and before will hook into cucumbers Before and After) for processes.
40
41
 
41
42
  ### Ruby
42
43
 
@@ -70,8 +71,6 @@ end
70
71
 
71
72
  Setup it up through configuration:
72
73
 
73
- ### YAML
74
-
75
74
  ```yaml
76
75
  version: 1.0
77
76
  strategy: manual
@@ -145,8 +144,6 @@ end
145
144
 
146
145
  Setup it up through configuration:
147
146
 
148
- ### YAML
149
-
150
147
  ```yaml
151
148
  version: 1.0
152
149
  strategy: manual
@@ -168,3 +165,123 @@ require 'nonnative'
168
165
 
169
166
  Nonnative.load_configuration('configuration.yml')
170
167
  ```
168
+
169
+ ##### HTTP
170
+
171
+ Define your server:
172
+
173
+ ```ruby
174
+ module Nonnative
175
+ module Features
176
+ module Hello
177
+ class << self
178
+ def registered(app)
179
+ app.get '/hello' do
180
+ 'Hello World!'
181
+ end
182
+ end
183
+ end
184
+ end
185
+
186
+ class HTTPServer < Nonnative::HTTPServer
187
+ def configure(http)
188
+ http.register(Hello)
189
+ end
190
+ end
191
+ end
192
+ end
193
+ ```
194
+
195
+ Setup it up programmatically:
196
+
197
+ ```ruby
198
+ require 'nonnative'
199
+
200
+ Nonnative.configure do |config|
201
+ config.strategy = :manual
202
+
203
+ config.server do |d|
204
+ d.klass = Nonnative::Features::HTTPServer
205
+ d.timeout = 1
206
+ d.port = 4567
207
+ end
208
+ end
209
+ ```
210
+
211
+ Setup it up through configuration:
212
+
213
+ ```yaml
214
+ version: 1.0
215
+ strategy: manual
216
+ servers:
217
+ -
218
+ klass: Nonnative::Features::HTTPServer
219
+ timeout: 1
220
+ port: 4567
221
+ ```
222
+
223
+ Then load the file with:
224
+
225
+ ```ruby
226
+ require 'nonnative'
227
+
228
+ Nonnative.load_configuration('configuration.yml')
229
+ ```
230
+
231
+ ##### gRPC
232
+
233
+ Define your server:
234
+
235
+ ```ruby
236
+ module Nonnative
237
+ module Features
238
+ class GreeterService < Greeter::Service
239
+ def say_hello(request, _call)
240
+ Nonnative::Features::HelloReply.new(message: request.name.to_s)
241
+ end
242
+ end
243
+
244
+ class GRPCServer < Nonnative::GRPCServer
245
+ def configure(grpc)
246
+ grpc.handle(GreeterService.new)
247
+ end
248
+ end
249
+ end
250
+ end
251
+ ```
252
+
253
+ Setup it up programmatically:
254
+
255
+ ```ruby
256
+ require 'nonnative'
257
+
258
+ Nonnative.configure do |config|
259
+ config.strategy = :manual
260
+
261
+ config.server do |d|
262
+ d.klass = Nonnative::Features::GRPCServer
263
+ d.timeout = 1
264
+ d.port = 9002
265
+ end
266
+ end
267
+ ```
268
+
269
+ Setup it up through configuration:
270
+
271
+ ```yaml
272
+ version: 1.0
273
+ strategy: manual
274
+ servers:
275
+ -
276
+ klass: Nonnative::Features::GRPCServer
277
+ timeout: 1
278
+ port: 9002
279
+ ```
280
+
281
+ Then load the file with:
282
+
283
+ ```ruby
284
+ require 'nonnative'
285
+
286
+ Nonnative.load_configuration('configuration.yml')
287
+ ```
data/lib/nonnative.rb CHANGED
@@ -5,6 +5,10 @@ require 'timeout'
5
5
  require 'thwait'
6
6
  require 'yaml'
7
7
 
8
+ require 'grpc'
9
+ require 'sinatra'
10
+ require 'rest-client'
11
+
8
12
  require 'nonnative/version'
9
13
  require 'nonnative/error'
10
14
  require 'nonnative/timeout'
@@ -16,6 +20,9 @@ require 'nonnative/command'
16
20
  require 'nonnative/pool'
17
21
  require 'nonnative/server'
18
22
  require 'nonnative/logger'
23
+ require 'nonnative/http_client'
24
+ require 'nonnative/http_server'
25
+ require 'nonnative/grpc_server'
19
26
 
20
27
  module Nonnative
21
28
  class << self
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ class GRPCServer < Nonnative::Server
5
+ def initialize(port)
6
+ @server = GRPC::RpcServer.new
7
+
8
+ server.add_http2_port("0.0.0.0:#{port}", :this_port_is_insecure)
9
+ configure server
10
+
11
+ super port
12
+ end
13
+
14
+ def configure(grpc); end
15
+
16
+ def perform_start
17
+ server.run_till_terminated
18
+ end
19
+
20
+ def perform_stop
21
+ server.stop
22
+ end
23
+
24
+ private
25
+
26
+ attr_reader :server
27
+ end
28
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ class HTTPClient
5
+ def initialize(host)
6
+ @host = host
7
+ end
8
+
9
+ protected
10
+
11
+ def get(pathname, headers = {})
12
+ uri = URI.join(host, pathname)
13
+ RestClient.get(uri.to_s, headers(headers))
14
+ rescue RestClient::Exception => e
15
+ e.response
16
+ end
17
+
18
+ def post(pathname, payload, headers = {})
19
+ uri = URI.join(host, pathname)
20
+ RestClient.post(uri.to_s, payload.to_json, headers(headers))
21
+ rescue RestClient::Exception => e
22
+ e.response
23
+ end
24
+
25
+ private
26
+
27
+ attr_reader :host
28
+
29
+ def headers(headers)
30
+ default_headers = { content_type: :json, accept: :json }
31
+ default_headers.merge(headers)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ class HTTPServer < Nonnative::Server
5
+ def initialize(port)
6
+ Application.set :port, port
7
+ configure Application
8
+
9
+ super port
10
+ end
11
+
12
+ def configure(http); end
13
+
14
+ def perform_start
15
+ Application.start!
16
+ end
17
+
18
+ def perform_stop
19
+ Application.stop!
20
+ end
21
+
22
+ class Application < Sinatra::Application
23
+ set :bind, '0.0.0.0'
24
+ end
25
+ end
26
+ end
@@ -25,9 +25,5 @@ module Nonnative
25
25
  end
26
26
 
27
27
  attr_reader :port
28
-
29
- def perform_start; end
30
-
31
- def perform_stop; end
32
28
  end
33
29
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.5.0'
4
+ VERSION = '1.6.0'
5
5
  end
data/nonnative.gemspec CHANGED
@@ -24,14 +24,18 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ['lib']
26
26
 
27
- spec.add_dependency 'cucumber'
28
- spec.add_dependency 'rspec-expectations'
29
- spec.add_dependency 'semantic_logger'
27
+ spec.add_dependency 'cucumber', '~> 3.1', '>= 3.1.2'
28
+ spec.add_dependency 'grpc', '~> 1.28'
29
+ spec.add_dependency 'rest-client', '~> 2.1'
30
+ spec.add_dependency 'rspec-expectations', '~> 3.9', '>= 3.9.2'
31
+ spec.add_dependency 'semantic_logger', '~> 4.6', '>= 4.6.1'
32
+ spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
30
33
 
31
- spec.add_development_dependency 'bundler'
32
- spec.add_development_dependency 'rake'
33
- spec.add_development_dependency 'rspec-benchmark'
34
- spec.add_development_dependency 'rubocop'
35
- spec.add_development_dependency 'simplecov'
36
- spec.add_development_dependency 'solargraph'
34
+ spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
35
+ spec.add_development_dependency 'grpc-tools', '~> 1.28'
36
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
37
+ spec.add_development_dependency 'rspec-benchmark', '~> 0.6.0'
38
+ spec.add_development_dependency 'rubocop', '~> 0.82.0'
39
+ spec.add_development_dependency 'simplecov', '~> 0.18.5'
40
+ spec.add_development_dependency 'solargraph', '~> 0.39.7'
37
41
  end
metadata CHANGED
@@ -1,141 +1,233 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonnative
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Falkowski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-03 00:00:00.000000000 Z
11
+ date: 2020-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: 3.1.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: 3.1.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: grpc
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.28'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.28'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rest-client
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.1'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.1'
27
61
  - !ruby/object:Gem::Dependency
28
62
  name: rspec-expectations
29
63
  requirement: !ruby/object:Gem::Requirement
30
64
  requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.9'
31
68
  - - ">="
32
69
  - !ruby/object:Gem::Version
33
- version: '0'
70
+ version: 3.9.2
34
71
  type: :runtime
35
72
  prerelease: false
36
73
  version_requirements: !ruby/object:Gem::Requirement
37
74
  requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3.9'
38
78
  - - ">="
39
79
  - !ruby/object:Gem::Version
40
- version: '0'
80
+ version: 3.9.2
41
81
  - !ruby/object:Gem::Dependency
42
82
  name: semantic_logger
43
83
  requirement: !ruby/object:Gem::Requirement
44
84
  requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '4.6'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 4.6.1
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '4.6'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 4.6.1
101
+ - !ruby/object:Gem::Dependency
102
+ name: sinatra
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: '2.0'
45
108
  - - ">="
46
109
  - !ruby/object:Gem::Version
47
- version: '0'
110
+ version: 2.0.8.1
48
111
  type: :runtime
49
112
  prerelease: false
50
113
  version_requirements: !ruby/object:Gem::Requirement
51
114
  requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
52
118
  - - ">="
53
119
  - !ruby/object:Gem::Version
54
- version: '0'
120
+ version: 2.0.8.1
55
121
  - !ruby/object:Gem::Dependency
56
122
  name: bundler
57
123
  requirement: !ruby/object:Gem::Requirement
58
124
  requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '2.1'
59
128
  - - ">="
60
129
  - !ruby/object:Gem::Version
61
- version: '0'
130
+ version: 2.1.4
62
131
  type: :development
63
132
  prerelease: false
64
133
  version_requirements: !ruby/object:Gem::Requirement
65
134
  requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.1'
66
138
  - - ">="
67
139
  - !ruby/object:Gem::Version
68
- version: '0'
140
+ version: 2.1.4
141
+ - !ruby/object:Gem::Dependency
142
+ name: grpc-tools
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '1.28'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.28'
69
155
  - !ruby/object:Gem::Dependency
70
156
  name: rake
71
157
  requirement: !ruby/object:Gem::Requirement
72
158
  requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: '13.0'
73
162
  - - ">="
74
163
  - !ruby/object:Gem::Version
75
- version: '0'
164
+ version: 13.0.1
76
165
  type: :development
77
166
  prerelease: false
78
167
  version_requirements: !ruby/object:Gem::Requirement
79
168
  requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '13.0'
80
172
  - - ">="
81
173
  - !ruby/object:Gem::Version
82
- version: '0'
174
+ version: 13.0.1
83
175
  - !ruby/object:Gem::Dependency
84
176
  name: rspec-benchmark
85
177
  requirement: !ruby/object:Gem::Requirement
86
178
  requirements:
87
- - - ">="
179
+ - - "~>"
88
180
  - !ruby/object:Gem::Version
89
- version: '0'
181
+ version: 0.6.0
90
182
  type: :development
91
183
  prerelease: false
92
184
  version_requirements: !ruby/object:Gem::Requirement
93
185
  requirements:
94
- - - ">="
186
+ - - "~>"
95
187
  - !ruby/object:Gem::Version
96
- version: '0'
188
+ version: 0.6.0
97
189
  - !ruby/object:Gem::Dependency
98
190
  name: rubocop
99
191
  requirement: !ruby/object:Gem::Requirement
100
192
  requirements:
101
- - - ">="
193
+ - - "~>"
102
194
  - !ruby/object:Gem::Version
103
- version: '0'
195
+ version: 0.82.0
104
196
  type: :development
105
197
  prerelease: false
106
198
  version_requirements: !ruby/object:Gem::Requirement
107
199
  requirements:
108
- - - ">="
200
+ - - "~>"
109
201
  - !ruby/object:Gem::Version
110
- version: '0'
202
+ version: 0.82.0
111
203
  - !ruby/object:Gem::Dependency
112
204
  name: simplecov
113
205
  requirement: !ruby/object:Gem::Requirement
114
206
  requirements:
115
- - - ">="
207
+ - - "~>"
116
208
  - !ruby/object:Gem::Version
117
- version: '0'
209
+ version: 0.18.5
118
210
  type: :development
119
211
  prerelease: false
120
212
  version_requirements: !ruby/object:Gem::Requirement
121
213
  requirements:
122
- - - ">="
214
+ - - "~>"
123
215
  - !ruby/object:Gem::Version
124
- version: '0'
216
+ version: 0.18.5
125
217
  - !ruby/object:Gem::Dependency
126
218
  name: solargraph
127
219
  requirement: !ruby/object:Gem::Requirement
128
220
  requirements:
129
- - - ">="
221
+ - - "~>"
130
222
  - !ruby/object:Gem::Version
131
- version: '0'
223
+ version: 0.39.7
132
224
  type: :development
133
225
  prerelease: false
134
226
  version_requirements: !ruby/object:Gem::Requirement
135
227
  requirements:
136
- - - ">="
228
+ - - "~>"
137
229
  - !ruby/object:Gem::Version
138
- version: '0'
230
+ version: 0.39.7
139
231
  description: Allows you to keep using the power of ruby to test other systems
140
232
  email:
141
233
  - alexrfalkowski@gmail.com
@@ -163,6 +255,9 @@ files:
163
255
  - lib/nonnative/configuration_process.rb
164
256
  - lib/nonnative/configuration_server.rb
165
257
  - lib/nonnative/error.rb
258
+ - lib/nonnative/grpc_server.rb
259
+ - lib/nonnative/http_client.rb
260
+ - lib/nonnative/http_server.rb
166
261
  - lib/nonnative/logger.rb
167
262
  - lib/nonnative/manual.rb
168
263
  - lib/nonnative/pool.rb