freno-client 0.6.0 → 0.7.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
- SHA1:
3
- metadata.gz: bf297a41a22996c917599c6bc5835a8abb482d09
4
- data.tar.gz: 1a45ae21c0e31b7fda7769b78c3fcc8d3d6b4bf5
2
+ SHA256:
3
+ metadata.gz: cdef62141f54dfa80e9f96576cbb35b907fe80373befc8b3afda3500c568bc75
4
+ data.tar.gz: 8a0a8d5305e290776043c094dc1186004c73dda958495e807a51b689e5937b3a
5
5
  SHA512:
6
- metadata.gz: 3f6ab33f6c2008972cc3eea6e8611d1aca5e93c64d318211ee7e44d7066cc6cc73f38a97ea2d398e3738e6f35663d8c1dbc6bcd0fb6fb27dc0fe6e7502ea120c
7
- data.tar.gz: 9bc8e0b6a8531768b77fc7b6b6b0edd99c9d9f1c0c0bc1d50264806ced07ba960de438a7f1f9f3c1c96309c79a4edf0ee95892a84ad610b0933b456d8d114cbe
6
+ metadata.gz: ef4ff9cd19b42084aa7f672308b08943ef85a4b1556664dca22c1ac4b75e0a86af4279eafdb28c603edf58fd02386a194fc1221a17d32f15946ffcecc8cca931
7
+ data.tar.gz: e4084af06baedf9294589fa0690887f1c514acaf76801974358b1c560a18f6d1bf71b8313c3894fa29958fbc6676b07617f957e5e928952bdf85aa2a1c44b719
data/.rubocop.yml CHANGED
@@ -7,21 +7,12 @@ Bundler/DuplicatedGem:
7
7
  Bundler/OrderedGems:
8
8
  Enabled: true
9
9
 
10
- Lint/BlockAlignment:
11
- Enabled: true
12
-
13
10
  Lint/CircularArgumentReference:
14
11
  Enabled: true
15
12
 
16
- Lint/ConditionPosition:
17
- Enabled: true
18
-
19
13
  Lint/Debugger:
20
14
  Enabled: true
21
15
 
22
- Lint/DefEndAlignment:
23
- Enabled: true
24
-
25
16
  Lint/DeprecatedClassMethods:
26
17
  Enabled: true
27
18
 
@@ -46,15 +37,15 @@ Lint/EndInMethod:
46
37
  Lint/EmptyInterpolation:
47
38
  Enabled: true
48
39
 
49
- Lint/EndAlignment:
50
- Enabled: false
51
-
52
40
  Lint/EnsureReturn:
53
41
  Enabled: true
54
42
 
55
43
  Lint/FloatOutOfRange:
56
44
  Enabled: true
57
45
 
46
+ Lint/FlipFlop:
47
+ Enabled: true
48
+
58
49
  Lint/FormatParameterMismatch:
59
50
  Enabled: true
60
51
 
@@ -62,12 +53,6 @@ Style/HashSyntax:
62
53
  Enabled: true
63
54
  EnforcedStyle: ruby19
64
55
 
65
- Lint/InvalidCharacterLiteral:
66
- Enabled: true
67
-
68
- Lint/LiteralInCondition:
69
- Enabled: true
70
-
71
56
  Lint/LiteralInInterpolation:
72
57
  Enabled: true
73
58
 
@@ -92,9 +77,6 @@ Lint/StringConversionInInterpolation:
92
77
  Lint/UnderscorePrefixedVariableName:
93
78
  Enabled: true
94
79
 
95
- Lint/UnneededDisable:
96
- Enabled: true
97
-
98
80
  Lint/UnneededSplatExpansion:
99
81
  Enabled: true
100
82
 
@@ -170,9 +152,6 @@ Performance/EndWith:
170
152
  Performance/FlatMap:
171
153
  Enabled: true
172
154
 
173
- Performance/HashEachMethods:
174
- Enabled: true
175
-
176
155
  Performance/LstripRstrip:
177
156
  Enabled: true
178
157
 
@@ -213,9 +192,6 @@ Style/BeginBlock:
213
192
  Style/BlockComments:
214
193
  Enabled: true
215
194
 
216
- Layout/BlockEndNewline:
217
- Enabled: true
218
-
219
195
  Style/CaseEquality:
220
196
  Enabled: true
221
197
 
@@ -234,13 +210,19 @@ Style/DefWithParentheses:
234
210
  Style/EndBlock:
235
211
  Enabled: true
236
212
 
237
- Layout/EndOfLine:
213
+ Style/For:
238
214
  Enabled: true
239
215
 
240
- Style/FlipFlop:
216
+ Layout/BlockEndNewline:
241
217
  Enabled: true
242
218
 
243
- Style/For:
219
+ Layout/ConditionPosition:
220
+ Enabled: true
221
+
222
+ Layout/EndAlignment:
223
+ Enabled: false
224
+
225
+ Layout/EndOfLine:
244
226
  Enabled: true
245
227
 
246
228
  Layout/InitialIndentation:
@@ -267,6 +249,12 @@ Style/Not:
267
249
  Style/OneLineConditional:
268
250
  Enabled: true
269
251
 
252
+ Layout/BlockAlignment:
253
+ Enabled: true
254
+
255
+ Layout/DefEndAlignment:
256
+ Enabled: true
257
+
270
258
  Layout/SpaceAfterMethodName:
271
259
  Enabled: true
272
260
 
@@ -291,9 +279,6 @@ Layout/SpaceAroundEqualsInParameterDefault:
291
279
  Layout/SpaceInsideArrayPercentLiteral:
292
280
  Enabled: true
293
281
 
294
- Layout/SpaceInsideBrackets:
295
- Enabled: true
296
-
297
282
  Layout/SpaceInsideParens:
298
283
  Enabled: true
299
284
 
data/.travis.yml CHANGED
@@ -1,16 +1,13 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.1
5
- - 2.2
6
4
  - 2.3
7
5
  - 2.4
6
+ - 2.5
8
7
  - ruby-head
9
8
  matrix:
10
9
  allow_failures:
11
10
  - rvm: ruby-head
12
- fast_finish: true
13
- before_install: gem install bundler -v 1.14.6
14
11
  script:
15
- - bundle exec script/cibuild
16
- - bundle exec script/cibuild-lint
12
+ - bundle exec rake
13
+ - bundle exec rubocop
data/README.md CHANGED
@@ -211,7 +211,7 @@ module Freno
211
211
  instrumenter: Instrumenter::Noop,
212
212
  circuit_breaker: CircuitBreaker::Noop,
213
213
  wait_seconds: DEFAULT_WAIT_SECONDS,
214
- max_wait_seconds: DEFAULT_MAX_WAIT_SECONDS
214
+ max_wait_seconds: DEFAULT_MAX_WAIT_SECONDS)
215
215
 
216
216
 
217
217
  @client = client
@@ -278,7 +278,7 @@ An instrumenter is an object that responds to `instrument(event_name, payload =
278
278
 
279
279
  def extract_tags(payload)
280
280
  cluster_names = payload[:store_names] || []
281
- cluster_tags = cluster_names.map{ |cluster_name "cluster:#{cluster_name}" }
281
+ cluster_tags = cluster_names.map{ |cluster_name| "cluster:#{cluster_name}" }
282
282
  end
283
283
  end
284
284
  ```
data/freno-client.gemspec CHANGED
@@ -31,8 +31,8 @@ Gem::Specification.new do |spec|
31
31
  spec.executables = []
32
32
  spec.require_paths = ["lib"]
33
33
 
34
- spec.add_development_dependency "bundler", "~> 1.14"
35
- spec.add_development_dependency "rake", "~> 10.0"
36
- spec.add_development_dependency "minitest", "~> 5.0"
34
+ spec.add_development_dependency "bundler"
35
+ spec.add_development_dependency "rake"
36
+ spec.add_development_dependency "minitest", "~> 5"
37
37
  spec.add_development_dependency "faraday", "~> 0"
38
38
  end
data/lib/freno/client.rb CHANGED
@@ -5,6 +5,7 @@ require "freno/client/requests/replication_delay"
5
5
 
6
6
  module Freno
7
7
  class Client
8
+ class DecorationError < ArgumentError; end
8
9
 
9
10
  REQUESTS = {
10
11
  check: Requests::Check,
@@ -150,6 +151,8 @@ module Freno
150
151
  requests = Array(request)
151
152
  end
152
153
 
154
+ validate!(with)
155
+
153
156
  requests.each do |request|
154
157
  decorators[request] ||= []
155
158
  decorators[request] += Array(with)
@@ -178,5 +181,20 @@ module Freno
178
181
  outermost
179
182
  end
180
183
  end
184
+
185
+ def validate!(decorators)
186
+ decorators.each do |decorator|
187
+ raise DecorationError, "Cannot reuse decorator instance: #{decorator}" if already_registered?(decorator)
188
+ registered_decorators << decorator
189
+ end
190
+ end
191
+
192
+ def already_registered?(decorator)
193
+ registered_decorators.include? decorator
194
+ end
195
+
196
+ def registered_decorators
197
+ @registered_decorators ||= Set.new
198
+ end
181
199
  end
182
200
  end
@@ -1,5 +1,5 @@
1
1
  module Freno
2
2
  class Client
3
- VERSION = "0.6.0"
3
+ VERSION = "0.7.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freno-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Fernández
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-09 00:00:00.000000000 Z
11
+ date: 2019-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.14'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
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'
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'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.0'
47
+ version: '5'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.0'
54
+ version: '5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  version: '0'
129
129
  requirements: []
130
130
  rubyforge_project:
131
- rubygems_version: 2.6.11
131
+ rubygems_version: 2.7.6
132
132
  signing_key:
133
133
  specification_version: 4
134
134
  summary: A library for interacting with freno, the throttler service