nonnative 1.24.0 → 1.25.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: 39dfda3ff344a41e06816d7f7cbc152a53d8b5bc98090113e1c79109ea2faf95
4
- data.tar.gz: b1fbf5078dfa16d8fb89fc0699af0bebdc2a47473b455d71f3b7cd7bab390b8c
3
+ metadata.gz: 02a90943c6dc7f21344409f9ee8be6f2a885fdf93a349ec89d3d0e690f040727
4
+ data.tar.gz: '029e6c5d065db3e63a757d54fa163b9523c8dce1114341c43416709aa0fb3407'
5
5
  SHA512:
6
- metadata.gz: a797cf86fe77a38f9ebb5fa78f0dd20f24ce9e91f5666ae0c264ce1a37c9e91bba4ff19389da82c5de6fa48099d0187b6789fa1abb296383a8a186280b3b8ab0
7
- data.tar.gz: 7a559c54037a22f2b01c995787cac36a076b5afbd8c68a3f1c72ed9f50f4543ff73d060514ea747c4db6964348d568d0a38c222476a33fa8886919e10b8ca093
6
+ metadata.gz: 8274f8202cd8b5b4a9bf81872ef9d25944b58171451469ef16c2ca9040cceda0ed41ab3e28b69c780b33260c4bfee5c231e5947738bf12413d3324e0f00a9d3e
7
+ data.tar.gz: bdedecceaf8a08ca7bd8b52e69fdbb8e5cc4336ca28677d0bce5f17a9db735a08d59a7180e2cd4e65c6819be704155ac6aac8a07db48d3ba293de2839ba69d84
@@ -9,7 +9,7 @@ Metrics/MethodLength:
9
9
  Max: 20
10
10
 
11
11
  Metrics/BlockLength:
12
- Max: 70
12
+ Max: 80
13
13
 
14
14
  Metrics/AbcSize:
15
15
  Max: 20
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.24.0)
4
+ nonnative (1.25.0)
5
5
  concurrent-ruby (~> 1.0, >= 1.0.5)
6
6
  cucumber (>= 4, < 5)
7
7
  grpc (>= 1, < 2)
data/README.md CHANGED
@@ -57,7 +57,7 @@ Nonnative.configure do |config|
57
57
  d.command = 'features/support/bin/start 12_321'
58
58
  d.timeout = 0.5
59
59
  d.port = 12_321
60
- d.file = 'features/logs/12_321.log'
60
+ d.log = 'features/logs/12_321.log'
61
61
  d.signal = 'INT' # Possible values are described in Signal.list.keys
62
62
  end
63
63
 
@@ -66,7 +66,7 @@ Nonnative.configure do |config|
66
66
  d.command = 'features/support/bin/start 12_322'
67
67
  d.timeout = 0.5
68
68
  d.port = 12_322
69
- d.file = 'features/logs/12_322.log'
69
+ d.log = 'features/logs/12_322.log'
70
70
  end
71
71
  end
72
72
  ```
@@ -82,14 +82,14 @@ processes:
82
82
  command: features/support/bin/start 12_321
83
83
  timeout: 5
84
84
  port: 12321
85
- file: features/logs/12_321.log
85
+ log: features/logs/12_321.log
86
86
  signal: INT # Possible values are described in Signal.list.keys
87
87
  -
88
88
  name: start_2
89
89
  command: features/support/bin/start 12_322
90
90
  timeout: 5
91
91
  port: 12322
92
- file: features/logs/12_322.log
92
+ log: features/logs/12_322.log
93
93
  ```
94
94
 
95
95
  Then load the file with
@@ -133,18 +133,20 @@ require 'nonnative'
133
133
  Nonnative.configure do |config|
134
134
  config.strategy = :manual
135
135
 
136
- config.server do |d|
137
- d.name = 'server_1'
138
- d.klass = Nonnative::EchoServer
139
- d.timeout = 1
140
- d.port = 12_323
136
+ config.server do |s|
137
+ s.name = 'server_1'
138
+ s.klass = Nonnative::EchoServer
139
+ s.timeout = 1
140
+ s.port = 12_323
141
+ s.log = 'features/logs/server_1.log'
141
142
  end
142
143
 
143
- config.server do |d|
144
- d.name = 'server_2'
145
- d.klass = Nonnative::EchoServer
146
- d.timeout = 1
147
- d.port = 12_324
144
+ config.server do |s|
145
+ s.name = 'server_2'
146
+ s.klass = Nonnative::EchoServer
147
+ s.timeout = 1
148
+ s.port = 12_324
149
+ s.log = 'features/logs/server_2.log'
148
150
  end
149
151
  end
150
152
  ```
@@ -160,11 +162,13 @@ servers:
160
162
  klass: Nonnative::EchoServer
161
163
  timeout: 1
162
164
  port: 12323
165
+ log: features/logs/server_1.log
163
166
  -
164
167
  name: server_2
165
168
  klass: Nonnative::EchoServer
166
169
  timeout: 1
167
170
  port: 12324
171
+ log: features/logs/server_2.log
168
172
  ```
169
173
 
170
174
  Then load the file with:
@@ -182,7 +186,11 @@ Define your server:
182
186
  ```ruby
183
187
  module Nonnative
184
188
  module Features
185
- class Application < Sinatra::Base
189
+ class Application < Sinatra::Application
190
+ configure do
191
+ set :server_settings, log_requests: true
192
+ end
193
+
186
194
  get '/hello' do
187
195
  'Hello World!'
188
196
  end
@@ -205,11 +213,12 @@ require 'nonnative'
205
213
  Nonnative.configure do |config|
206
214
  config.strategy = :manual
207
215
 
208
- config.server do |d|
209
- d.name = 'http_server_1'
210
- d.klass = Nonnative::Features::HTTPServer
211
- d.timeout = 1
212
- d.port = 4567
216
+ config.server do |s|
217
+ s.name = 'http_server_1'
218
+ s.klass = Nonnative::Features::HTTPServer
219
+ s.timeout = 1
220
+ s.port = 4567
221
+ s.log = 'features/logs/http_server_1.log'
213
222
  end
214
223
  end
215
224
  ```
@@ -225,6 +234,7 @@ servers:
225
234
  klass: Nonnative::Features::HTTPServer
226
235
  timeout: 1
227
236
  port: 4567
237
+ log: features/logs/http_server_1.log
228
238
  ```
229
239
 
230
240
  Then load the file with:
@@ -265,11 +275,12 @@ require 'nonnative'
265
275
  Nonnative.configure do |config|
266
276
  config.strategy = :manual
267
277
 
268
- config.server do |d|
269
- d.name = 'grpc_server_1'
270
- d.klass = Nonnative::Features::GRPCServer
271
- d.timeout = 1
272
- d.port = 9002
278
+ config.server do |s|
279
+ s.name = 'grpc_server_1'
280
+ s.klass = Nonnative::Features::GRPCServer
281
+ s.timeout = 1
282
+ s.port = 9002
283
+ s.log = 'features/logs/grpc_server_1.log'
273
284
  end
274
285
  end
275
286
  ```
@@ -285,6 +296,7 @@ servers:
285
296
  klass: Nonnative::Features::GRPCServer
286
297
  timeout: 1
287
298
  port: 9002
299
+ log: features/logs/grpc_server_1.log
288
300
  ```
289
301
 
290
302
  Then load the file with:
@@ -38,7 +38,7 @@ module Nonnative
38
38
  end
39
39
 
40
40
  def command_spawn
41
- spawn(service.command, %i[out err] => [service.file, 'a'])
41
+ spawn(service.command, %i[out err] => [service.log, 'a'])
42
42
  end
43
43
 
44
44
  def command_exists?
@@ -24,7 +24,7 @@ module Nonnative
24
24
  d.command = fd['command']
25
25
  d.timeout = fd['timeout']
26
26
  d.port = fd['port']
27
- d.file = fd['file']
27
+ d.log = fd['log']
28
28
  d.signal = fd['signal']
29
29
  end
30
30
  end
@@ -38,6 +38,7 @@ module Nonnative
38
38
  s.klass = Object.const_get(fd['klass'])
39
39
  s.timeout = fd['timeout']
40
40
  s.port = fd['port']
41
+ s.log = fd['log']
41
42
 
42
43
  proxy = fd['proxy']
43
44
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Nonnative
4
4
  class ConfigurationProcess
5
- attr_accessor :name, :command, :timeout, :port, :file, :signal
5
+ attr_accessor :name, :command, :timeout, :port, :log, :signal
6
6
  end
7
7
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Nonnative
4
4
  class ConfigurationServer
5
- attr_accessor :name, :klass, :timeout, :port
5
+ attr_accessor :name, :klass, :timeout, :port, :log
6
6
  attr_reader :proxy
7
7
 
8
8
  def initialize
@@ -6,6 +6,11 @@ module Nonnative
6
6
  @server = GRPC::RpcServer.new
7
7
  server.handle(svc)
8
8
 
9
+ # Unfortunately gRPC has only one logger so the first server wins.
10
+ GRPC.define_singleton_method(:logger) do
11
+ @logger ||= Logger.new(service.log)
12
+ end
13
+
9
14
  super service
10
15
  end
11
16
 
@@ -3,7 +3,9 @@
3
3
  module Nonnative
4
4
  class HTTPServer < Nonnative::Server
5
5
  def initialize(service)
6
- @server = Puma::Server.new(app, Puma::Events.strings)
6
+ log = File.open(service.log, 'a')
7
+ events = Puma::Events.new(log, log)
8
+ @server = Puma::Server.new(app, events)
7
9
 
8
10
  super service
9
11
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.24.0'
4
+ VERSION = '1.25.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonnative
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.24.0
4
+ version: 1.25.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-07-11 00:00:00.000000000 Z
11
+ date: 2020-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby