gruf 2.7.0 → 2.10.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.
@@ -25,7 +25,7 @@ module Gruf
25
25
  ##
26
26
  # Push data to StatsD, only doing so if a client is set
27
27
  #
28
- def call
28
+ def call(&block)
29
29
  unless client
30
30
  Gruf.logger.error 'Statsd module loaded, but no client configured!'
31
31
  return yield
@@ -33,9 +33,7 @@ module Gruf
33
33
 
34
34
  client.increment(route_key)
35
35
 
36
- result = Gruf::Interceptors::Timer.time do
37
- yield
38
- end
36
+ result = Gruf::Interceptors::Timer.time(&block)
39
37
 
40
38
  client.increment("#{route_key}.#{postfix(result.successful?)}")
41
39
  client.timing(route_key, result.elapsed)
@@ -24,9 +24,12 @@ module Gruf
24
24
  ##
25
25
  # Represents a timed result for an interceptor
26
26
  #
27
+ # @property [Object] message The protobuf message
28
+ # @property [Float] elapsed The elapsed time of the request
29
+ #
27
30
  class Result
28
- attr_reader :message
29
- attr_reader :elapsed
31
+ attr_reader :message,
32
+ :elapsed
30
33
 
31
34
  ##
32
35
  # @param [Object] message The protobuf message
@@ -64,7 +64,7 @@ module Gruf
64
64
  # @return [String]
65
65
  #
66
66
  def route_key
67
- @method[1..-1].underscore.tr('/', '.')
67
+ @method[1..].underscore.tr('/', '.')
68
68
  end
69
69
  end
70
70
  end
data/lib/gruf/server.rb CHANGED
@@ -69,9 +69,9 @@ module Gruf
69
69
 
70
70
  server = if @event_listener_proc
71
71
  server_options[:event_listener_proc] = @event_listener_proc
72
- Gruf::InstrumentableGrpcServer.new(server_options)
72
+ Gruf::InstrumentableGrpcServer.new(**server_options)
73
73
  else
74
- GRPC::RpcServer.new(server_options)
74
+ GRPC::RpcServer.new(**server_options)
75
75
  end
76
76
 
77
77
  @port = server.add_http2_port(@hostname, ssl_credentials)
data/lib/gruf/timer.rb CHANGED
@@ -29,11 +29,12 @@ module Gruf
29
29
  # result.time # => 1.10123
30
30
  # result.result # => 'my_thing_is_done'
31
31
  #
32
+ # @property [Object] result The result of the block that was called
33
+ # @property [Float] time The time, in ms, of the block execution
34
+ #
32
35
  class Result
33
- # @return [Object] result The result of the block that was called
34
- attr_reader :result
35
- # @return [Float] time The time, in ms, of the block execution
36
- attr_reader :time
36
+ attr_reader :result,
37
+ :time
37
38
 
38
39
  ##
39
40
  # Initialize the result object
data/lib/gruf/version.rb CHANGED
@@ -16,5 +16,5 @@
16
16
  # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
17
  #
18
18
  module Gruf
19
- VERSION = '2.7.0'
19
+ VERSION = '2.10.0'
20
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gruf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shaun McCormick
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-15 00:00:00.000000000 Z
11
+ date: 2021-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,61 +25,187 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: bundler-audit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0.6'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '0.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: factory_bot
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '6.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '6.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ffaker
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '2.15'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '2.15'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: pry
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '0.11'
75
+ version: '0.12'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '0.11'
82
+ version: '0.12'
55
83
  - !ruby/object:Gem::Dependency
56
- name: grpc
84
+ name: pry-byebug
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - "~>"
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
- version: '1.10'
62
- type: :runtime
89
+ version: '3.9'
90
+ type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - "~>"
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
- version: '1.10'
96
+ version: '3.9'
69
97
  - !ruby/object:Gem::Dependency
70
- name: grpc-tools
98
+ name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - "~>"
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
- version: '1.10'
76
- type: :runtime
103
+ version: '10.0'
104
+ type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - "~>"
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
- version: '1.10'
110
+ version: '10.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '3.8'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '3.8'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec_junit_formatter
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0.4'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0.4'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '1.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '1.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rubocop-performance
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 0.0.1
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 0.0.1
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop-rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '2.0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '2.0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-thread_safety
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0.3'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0.3'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0.16'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0.16'
83
209
  - !ruby/object:Gem::Dependency
84
210
  name: activesupport
85
211
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +234,62 @@ dependencies:
108
234
  - - ">"
109
235
  - !ruby/object:Gem::Version
110
236
  version: '1'
237
+ - !ruby/object:Gem::Dependency
238
+ name: e2mmap
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '0.1'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '0.1'
251
+ - !ruby/object:Gem::Dependency
252
+ name: grpc
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '1.10'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '1.10'
265
+ - !ruby/object:Gem::Dependency
266
+ name: grpc-tools
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.10'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '1.10'
279
+ - !ruby/object:Gem::Dependency
280
+ name: json
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '2.3'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '2.3'
111
293
  - !ruby/object:Gem::Dependency
112
294
  name: slop
113
295
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +304,20 @@ dependencies:
122
304
  - - "~>"
123
305
  - !ruby/object:Gem::Version
124
306
  version: '4.6'
307
+ - !ruby/object:Gem::Dependency
308
+ name: thwait
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '0.1'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '0.1'
125
321
  description: gRPC Ruby Framework for building complex gRPC applications at scale
126
322
  email:
127
323
  - splittingred@gmail.com
@@ -181,23 +377,26 @@ homepage: https://github.com/bigcommerce/gruf
181
377
  licenses:
182
378
  - MIT
183
379
  metadata: {}
184
- post_install_message:
380
+ post_install_message:
185
381
  rdoc_options: []
186
382
  require_paths:
187
383
  - lib
188
384
  required_ruby_version: !ruby/object:Gem::Requirement
189
385
  requirements:
190
- - - "~>"
386
+ - - ">="
387
+ - !ruby/object:Gem::Version
388
+ version: '2.6'
389
+ - - "<"
191
390
  - !ruby/object:Gem::Version
192
- version: '2.4'
391
+ version: '3.1'
193
392
  required_rubygems_version: !ruby/object:Gem::Requirement
194
393
  requirements:
195
394
  - - ">="
196
395
  - !ruby/object:Gem::Version
197
396
  version: '0'
198
397
  requirements: []
199
- rubygems_version: 3.0.2
200
- signing_key:
398
+ rubygems_version: 3.0.9
399
+ signing_key:
201
400
  specification_version: 4
202
401
  summary: gRPC Ruby Framework
203
402
  test_files: []