nonnative 1.5.0 → 1.6.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: '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