stoplight 2.2.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -15
  3. data/lib/stoplight/color.rb +4 -4
  4. data/lib/stoplight/data_store/base.rb +1 -1
  5. data/lib/stoplight/data_store/memory.rb +1 -1
  6. data/lib/stoplight/data_store/redis.rb +23 -25
  7. data/lib/stoplight/data_store.rb +1 -1
  8. data/lib/stoplight/default.rb +3 -3
  9. data/lib/stoplight/error.rb +1 -1
  10. data/lib/stoplight/failure.rb +2 -2
  11. data/lib/stoplight/light/runnable.rb +7 -5
  12. data/lib/stoplight/light.rb +1 -1
  13. data/lib/stoplight/notifier/base.rb +1 -1
  14. data/lib/stoplight/notifier/bugsnag.rb +1 -1
  15. data/lib/stoplight/notifier/generic.rb +1 -1
  16. data/lib/stoplight/notifier/hip_chat.rb +1 -1
  17. data/lib/stoplight/notifier/honeybadger.rb +2 -2
  18. data/lib/stoplight/notifier/io.rb +1 -1
  19. data/lib/stoplight/notifier/logger.rb +1 -1
  20. data/lib/stoplight/notifier/pagerduty.rb +1 -1
  21. data/lib/stoplight/notifier/raven.rb +2 -2
  22. data/lib/stoplight/notifier/rollbar.rb +1 -1
  23. data/lib/stoplight/notifier/slack.rb +1 -1
  24. data/lib/stoplight/notifier.rb +1 -1
  25. data/lib/stoplight/state.rb +4 -4
  26. data/lib/stoplight/version.rb +2 -2
  27. data/lib/stoplight.rb +1 -1
  28. data/spec/spec_helper.rb +2 -3
  29. data/spec/stoplight/color_spec.rb +1 -1
  30. data/spec/stoplight/data_store/base_spec.rb +1 -1
  31. data/spec/stoplight/data_store/memory_spec.rb +1 -1
  32. data/spec/stoplight/data_store/redis_spec.rb +1 -1
  33. data/spec/stoplight/data_store_spec.rb +1 -1
  34. data/spec/stoplight/default_spec.rb +1 -1
  35. data/spec/stoplight/error_spec.rb +1 -1
  36. data/spec/stoplight/failure_spec.rb +1 -1
  37. data/spec/stoplight/light/runnable_spec.rb +7 -9
  38. data/spec/stoplight/light_spec.rb +5 -5
  39. data/spec/stoplight/notifier/base_spec.rb +1 -1
  40. data/spec/stoplight/notifier/bugsnag_spec.rb +1 -1
  41. data/spec/stoplight/notifier/generic_spec.rb +1 -1
  42. data/spec/stoplight/notifier/hip_chat_spec.rb +2 -3
  43. data/spec/stoplight/notifier/honeybadger_spec.rb +1 -1
  44. data/spec/stoplight/notifier/io_spec.rb +1 -1
  45. data/spec/stoplight/notifier/logger_spec.rb +1 -1
  46. data/spec/stoplight/notifier/pagerduty_spec.rb +1 -1
  47. data/spec/stoplight/notifier/raven_spec.rb +1 -1
  48. data/spec/stoplight/notifier/rollbar_spec.rb +1 -1
  49. data/spec/stoplight/notifier/slack_spec.rb +2 -3
  50. data/spec/stoplight/notifier_spec.rb +1 -1
  51. data/spec/stoplight/state_spec.rb +1 -1
  52. data/spec/stoplight/version_spec.rb +1 -1
  53. data/spec/stoplight_spec.rb +1 -1
  54. metadata +56 -42
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e26d25f913bb759dccd62f2b12576cbe51550753c3c6428fb16cdb6052559928
4
- data.tar.gz: 6cbfd0ccd62da40cb335e671c8ba2d84348652e206520355fa651eb2276e16ea
3
+ metadata.gz: 2f7c163955f261ad3eeca89a851a06a15f5734d78d045695297f29c143532a58
4
+ data.tar.gz: 9ff3e5911bf7e9f198c714ce1eb0f10c6ba09834e96a8c8c2d16dd3e184ed0ce
5
5
  SHA512:
6
- metadata.gz: a186fc199cd54411996a65c369c687dc1165ecb2115699c72e6aa005f1b3d5b0da3b5f90402d2c49b12d73ca708628b09f5b9ba02e57c127ce89a33f8dc16cd2
7
- data.tar.gz: 7ee5b81cad78ed7aaa7200aedf74cba3af8aff5b1e95940c572ca93bbefa28676ceb507ef04ce63bef28d9b6e7dcb2590653dd06704cf14b561653662c9fa30b
6
+ metadata.gz: 5e42cd0050cdbf9440e80d68d70091e6c22c574c64cf06a29aa9dca320f5f4915dca48e5582ebf18db757fde4ad295c20af05bc6a879695d726afa65ff50dea8
7
+ data.tar.gz: a5088d9ba81a5578cbc078d0671c601fd13738f07f6a67dd12936df3e8a7927053314538d50c1e65ce6913607e9764ff09d6c05f931c4be8984e2e6744399288
data/README.md CHANGED
@@ -4,7 +4,6 @@
4
4
  [![Build badge][]][build]
5
5
  [![Coverage badge][]][coverage]
6
6
  [![Climate badge][]][climate]
7
- [![Dependencies badge][]][dependencies]
8
7
 
9
8
  Stoplight is traffic control for code. It's an implementation of the circuit
10
9
  breaker pattern in Ruby.
@@ -495,24 +494,22 @@ stoplight = Stoplight("test-#{rand}") { ... }
495
494
 
496
495
  ## Credits
497
496
 
498
- Stoplight is brought to you by [@camdez][] and [@tfausak][] from [@OrgSync][].
499
- A [complete list of contributors][] is available on GitHub. We were inspired by
500
- Martin Fowler's [CircuitBreaker][] article.
497
+ Stoplight is brought to you by [@camdez][] and [@tfausak][] from [@OrgSync][]. [@bolshakov][] is the current
498
+ maintainer of the gem. A [complete list of contributors][] is available on GitHub. We were inspired by
499
+ Martin Fowler's [CircuitBreaker][] article.
501
500
 
502
501
  Stoplight is licensed under [the MIT License][].
503
502
 
504
- [Stoplight]: https://github.com/orgsync/stoplight
503
+ [Stoplight]: https://github.com/bolshakov/stoplight
505
504
  [Version badge]: https://img.shields.io/gem/v/stoplight.svg?label=version
506
505
  [version]: https://rubygems.org/gems/stoplight
507
- [Build badge]: https://img.shields.io/travis/orgsync/stoplight/master.svg?label=build
508
- [build]: https://travis-ci.org/orgsync/stoplight
509
- [Coverage badge]: https://img.shields.io/coveralls/orgsync/stoplight/master.svg?label=coverage
510
- [coverage]: https://coveralls.io/r/orgsync/stoplight
511
- [Climate badge]: https://img.shields.io/codeclimate/github/orgsync/stoplight.svg?label=climate
512
- [climate]: https://codeclimate.com/github/orgsync/stoplight
513
- [Dependencies badge]: https://img.shields.io/gemnasium/orgsync/stoplight.svg?label=dependencies
514
- [dependencies]: https://gemnasium.com/orgsync/stoplight
515
- [stoplight-admin]: https://github.com/orgsync/stoplight-admin
506
+ [Build badge]: https://github.com/bolshakov/stoplight/workflows/Specs/badge.svg
507
+ [build]: https://github.com/bolshakov/stoplight/actions?query=branch%3Amaster
508
+ [Coverage badge]: https://img.shields.io/coveralls/bolshakov/stoplight/master.svg?label=coverage
509
+ [coverage]: https://coveralls.io/r/bolshakov/stoplight
510
+ [Climate badge]: https://api.codeclimate.com/v1/badges/3451c2d281ffa345441a/maintainability
511
+ [climate]: https://codeclimate.com/github/bolshakov/stoplight
512
+ [stoplight-admin]: https://github.com/bolshakov/stoplight-admin
516
513
  [Semantic Versioning]: http://semver.org/spec/v2.0.0.html
517
514
  [the change log]: CHANGELOG.md
518
515
  [the notifiers section]: #notifiers
@@ -529,6 +526,7 @@ Stoplight is licensed under [the MIT License][].
529
526
  [@camdez]: https://github.com/camdez
530
527
  [@tfausak]: https://github.com/tfausak
531
528
  [@orgsync]: https://github.com/OrgSync
532
- [complete list of contributors]: https://github.com/orgsync/stoplight/graphs/contributors
529
+ [@bolshakov]: https://github.com/bolshakov
530
+ [complete list of contributors]: https://github.com/bolshakov/stoplight/graphs/contributors
533
531
  [CircuitBreaker]: http://martinfowler.com/bliki/CircuitBreaker.html
534
532
  [the MIT license]: LICENSE.md
@@ -1,9 +1,9 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Color
5
- GREEN = 'green'.freeze
6
- YELLOW = 'yellow'.freeze
7
- RED = 'red'.freeze
5
+ GREEN = 'green'
6
+ YELLOW = 'yellow'
7
+ RED = 'red'
8
8
  end
9
9
  end
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module DataStore
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'monitor'
4
4
 
@@ -1,11 +1,11 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module DataStore
5
5
  # @see Base
6
6
  class Redis < Base
7
- KEY_PREFIX = 'stoplight'.freeze
8
- KEY_SEPARATOR = ':'.freeze
7
+ KEY_PREFIX = 'stoplight'
8
+ KEY_SEPARATOR = ':'
9
9
 
10
10
  # @param redis [::Redis]
11
11
  def initialize(redis)
@@ -25,9 +25,9 @@ module Stoplight
25
25
  end
26
26
 
27
27
  def get_all(light)
28
- failures, state = @redis.multi do
29
- query_failures(light)
30
- @redis.hget(states_key, light.name)
28
+ failures, state = @redis.multi do |transaction|
29
+ query_failures(light, transaction: transaction)
30
+ transaction.hget(states_key, light.name)
31
31
  end
32
32
 
33
33
  [
@@ -41,18 +41,18 @@ module Stoplight
41
41
  end
42
42
 
43
43
  def record_failure(light, failure)
44
- size, = @redis.multi do
45
- @redis.lpush(failures_key(light), failure.to_json)
46
- @redis.ltrim(failures_key(light), 0, light.threshold - 1)
44
+ size, = @redis.multi do |transaction|
45
+ transaction.lpush(failures_key(light), failure.to_json)
46
+ transaction.ltrim(failures_key(light), 0, light.threshold - 1)
47
47
  end
48
48
 
49
49
  size
50
50
  end
51
51
 
52
52
  def clear_failures(light)
53
- failures, = @redis.multi do
54
- query_failures(light)
55
- @redis.del(failures_key(light))
53
+ failures, = @redis.multi do |transaction|
54
+ query_failures(light, transaction: transaction)
55
+ transaction.del(failures_key(light))
56
56
  end
57
57
 
58
58
  normalize_failures(failures, light.error_notifier)
@@ -68,9 +68,9 @@ module Stoplight
68
68
  end
69
69
 
70
70
  def clear_state(light)
71
- state, = @redis.multi do
72
- query_state(light)
73
- @redis.hdel(states_key, light.name)
71
+ state, = @redis.multi do |transaction|
72
+ query_state(light, transaction: transaction)
73
+ transaction.hdel(states_key, light.name)
74
74
  end
75
75
 
76
76
  normalize_state(state)
@@ -78,23 +78,21 @@ module Stoplight
78
78
 
79
79
  private
80
80
 
81
- def query_failures(light)
82
- @redis.lrange(failures_key(light), 0, -1)
81
+ def query_failures(light, transaction: @redis)
82
+ transaction.lrange(failures_key(light), 0, -1)
83
83
  end
84
84
 
85
85
  def normalize_failures(failures, error_notifier)
86
86
  failures.map do |json|
87
- begin
88
- Failure.from_json(json)
89
- rescue => error
90
- error_notifier.call(error)
91
- Failure.from_error(error)
92
- end
87
+ Failure.from_json(json)
88
+ rescue StandardError => e
89
+ error_notifier.call(e)
90
+ Failure.from_error(e)
93
91
  end
94
92
  end
95
93
 
96
- def query_state(light)
97
- @redis.hget(states_key, light.name)
94
+ def query_state(light, transaction: @redis)
95
+ transaction.hget(states_key, light.name)
98
96
  end
99
97
 
100
98
  def normalize_state(state)
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module DataStore # rubocop:disable Style/Documentation
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Default
@@ -6,9 +6,9 @@ module Stoplight
6
6
 
7
7
  DATA_STORE = DataStore::Memory.new
8
8
 
9
- ERROR_HANDLER = -> (error, handler) { handler.call(error) }
9
+ ERROR_HANDLER = ->(error, handler) { handler.call(error) }
10
10
 
11
- ERROR_NOTIFIER = -> (error) { warn error }
11
+ ERROR_NOTIFIER = ->(error) { warn error }
12
12
 
13
13
  FALLBACK = nil
14
14
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Error
@@ -1,11 +1,11 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'json'
4
4
  require 'time'
5
5
 
6
6
  module Stoplight
7
7
  class Failure # rubocop:disable Style/Documentation
8
- TIME_FORMAT = '%Y-%m-%dT%H:%M:%S.%N%:z'.freeze
8
+ TIME_FORMAT = '%Y-%m-%dT%H:%M:%S.%N%:z'
9
9
 
10
10
  # @return [String]
11
11
  attr_reader :error_class
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  class Light
@@ -44,23 +44,25 @@ module Stoplight
44
44
 
45
45
  def run_red
46
46
  raise Error::RedLight, name unless fallback
47
+
47
48
  fallback.call(nil)
48
49
  end
49
50
 
50
51
  def run_code(on_success, on_failure)
51
52
  result = code.call
52
53
  failures = clear_failures
53
- on_success.call(failures) if on_success
54
+ on_success&.call(failures)
54
55
  result
55
- rescue Exception => error # rubocop:disable Lint/RescueException
56
- handle_error(error, on_failure)
56
+ rescue Exception => e # rubocop:disable Lint/RescueException
57
+ handle_error(e, on_failure)
57
58
  end
58
59
 
59
60
  def handle_error(error, on_failure)
60
61
  error_handler.call(error, Error::HANDLER)
61
62
  size = record_failure(error)
62
- on_failure.call(size, error) if on_failure
63
+ on_failure&.call(size, error)
63
64
  raise error unless fallback
65
+
64
66
  fallback.call(error)
65
67
  end
66
68
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  class Light # rubocop:disable Style/Documentation
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -34,7 +34,7 @@ module Stoplight
34
34
  h = options.merge(
35
35
  api_key: api_key,
36
36
  error_message: message,
37
- backtrace: (error.backtrace if error)
37
+ backtrace: error&.backtrace
38
38
  )
39
39
  ::Honeybadger.notify(h)
40
40
  message
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -30,7 +30,7 @@ module Stoplight
30
30
 
31
31
  h = options.merge(
32
32
  configuration: configuration,
33
- backtrace: (error.backtrace if error)
33
+ backtrace: error&.backtrace
34
34
  )
35
35
  ::Raven.capture_message(message, h)
36
36
  message
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module Notifier # rubocop:disable Style/Documentation
@@ -1,9 +1,9 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
4
  module State
5
- UNLOCKED = 'unlocked'.freeze
6
- LOCKED_GREEN = 'locked_green'.freeze
7
- LOCKED_RED = 'locked_red'.freeze
5
+ UNLOCKED = 'unlocked'
6
+ LOCKED_GREEN = 'locked_green'
7
+ LOCKED_RED = 'locked_red'
8
8
  end
9
9
  end
@@ -1,5 +1,5 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight
4
- VERSION = Gem::Version.new('2.2.1')
4
+ VERSION = Gem::Version.new('3.0.0')
5
5
  end
data/lib/stoplight.rb CHANGED
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Stoplight # rubocop:disable Style/Documentation
4
4
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,6 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'coveralls'
4
- Coveralls.wear!
3
+ require 'simplecov'
5
4
 
6
5
  require 'stoplight'
7
6
  require 'timecop'
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'fakeredis'
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'stringio'
@@ -8,7 +8,7 @@ RSpec.describe Stoplight::Light::Runnable do
8
8
 
9
9
  let(:code) { -> { code_result } }
10
10
  let(:code_result) { random_string }
11
- let(:fallback) { -> (_) { fallback_result } }
11
+ let(:fallback) { ->(_) { fallback_result } }
12
12
  let(:fallback_result) { random_string }
13
13
  let(:name) { random_string }
14
14
 
@@ -123,12 +123,10 @@ RSpec.describe Stoplight::Light::Runnable do
123
123
 
124
124
  context 'with an error handler' do
125
125
  let(:result) do
126
- begin
127
- subject.run
128
- expect(false).to be(true)
129
- rescue error.class
130
- expect(true).to be(true)
131
- end
126
+ subject.run
127
+ expect(false).to be(true)
128
+ rescue error.class
129
+ expect(true).to be(true)
132
130
  end
133
131
 
134
132
  it 'records the failure when the handler does nothing' do
@@ -171,7 +169,7 @@ RSpec.describe Stoplight::Light::Runnable do
171
169
 
172
170
  context 'when the data store is failing' do
173
171
  let(:data_store) { Object.new }
174
- let(:error_notifier) { -> (_) {} }
172
+ let(:error_notifier) { ->(_) {} }
175
173
 
176
174
  before do
177
175
  subject
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'stringio'
@@ -42,7 +42,7 @@ RSpec.describe Stoplight::Light do
42
42
  after { described_class.default_error_notifier = @default_error_notifier }
43
43
 
44
44
  it 'sets the error notifier' do
45
- default_error_notifier = -> (_) {}
45
+ default_error_notifier = ->(_) {}
46
46
  described_class.default_error_notifier = default_error_notifier
47
47
  expect(described_class.default_error_notifier)
48
48
  .to eql(default_error_notifier)
@@ -140,7 +140,7 @@ RSpec.describe Stoplight::Light do
140
140
 
141
141
  describe '#with_error_handler' do
142
142
  it 'sets the error handler' do
143
- error_handler = -> (_, _) {}
143
+ error_handler = ->(_, _) {}
144
144
  light.with_error_handler(&error_handler)
145
145
  expect(light.error_handler).to eql(error_handler)
146
146
  end
@@ -148,7 +148,7 @@ RSpec.describe Stoplight::Light do
148
148
 
149
149
  describe '#with_error_notifier' do
150
150
  it 'sets the error notifier' do
151
- error_notifier = -> (_) {}
151
+ error_notifier = ->(_) {}
152
152
  light.with_error_notifier(&error_notifier)
153
153
  expect(light.error_notifier).to eql(error_notifier)
154
154
  end
@@ -156,7 +156,7 @@ RSpec.describe Stoplight::Light do
156
156
 
157
157
  describe '#with_fallback' do
158
158
  it 'sets the fallback' do
159
- fallback = -> (_) {}
159
+ fallback = ->(_) {}
160
160
  light.with_fallback(&fallback)
161
161
  expect(light.fallback).to eql(fallback)
162
162
  end
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,12 +1,11 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  # require 'hipchat'
6
6
  module HipChat
7
7
  class Client
8
- def initialize(*)
9
- end
8
+ def initialize(*); end
10
9
  end
11
10
  end
12
11
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'stringio'
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'logger'
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'pagerduty'
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,12 +1,11 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  # require 'slack-notifier'
6
6
  module Slack
7
7
  class Notifier
8
- def initialize(*)
9
- end
8
+ def initialize(*); end
10
9
  end
11
10
  end
12
11
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stoplight
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Desautels
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-07-16 00:00:00.000000000 Z
13
+ date: 2022-02-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: benchmark-ips
@@ -40,20 +40,6 @@ dependencies:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '4.0'
43
- - !ruby/object:Gem::Dependency
44
- name: coveralls
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '0.8'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '0.8'
57
43
  - !ruby/object:Gem::Dependency
58
44
  name: fakeredis
59
45
  requirement: !ruby/object:Gem::Requirement
@@ -116,14 +102,14 @@ dependencies:
116
102
  requirements:
117
103
  - - "~>"
118
104
  - !ruby/object:Gem::Version
119
- version: '11.1'
105
+ version: '13.0'
120
106
  type: :development
121
107
  prerelease: false
122
108
  version_requirements: !ruby/object:Gem::Requirement
123
109
  requirements:
124
110
  - - "~>"
125
111
  - !ruby/object:Gem::Version
126
- version: '11.1'
112
+ version: '13.0'
127
113
  - !ruby/object:Gem::Dependency
128
114
  name: redis
129
115
  requirement: !ruby/object:Gem::Requirement
@@ -158,14 +144,14 @@ dependencies:
158
144
  requirements:
159
145
  - - "~>"
160
146
  - !ruby/object:Gem::Version
161
- version: 0.40.0
147
+ version: 1.0.0
162
148
  type: :development
163
149
  prerelease: false
164
150
  version_requirements: !ruby/object:Gem::Requirement
165
151
  requirements:
166
152
  - - "~>"
167
153
  - !ruby/object:Gem::Version
168
- version: 0.40.0
154
+ version: 1.0.0
169
155
  - !ruby/object:Gem::Dependency
170
156
  name: sentry-raven
171
157
  requirement: !ruby/object:Gem::Requirement
@@ -180,6 +166,34 @@ dependencies:
180
166
  - - "~>"
181
167
  - !ruby/object:Gem::Version
182
168
  version: '1.2'
169
+ - !ruby/object:Gem::Dependency
170
+ name: simplecov
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.21'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.21'
183
+ - !ruby/object:Gem::Dependency
184
+ name: simplecov-lcov
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.8'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '0.8'
183
197
  - !ruby/object:Gem::Dependency
184
198
  name: slack-notifier
185
199
  requirement: !ruby/object:Gem::Requirement
@@ -271,7 +285,7 @@ files:
271
285
  - spec/stoplight/state_spec.rb
272
286
  - spec/stoplight/version_spec.rb
273
287
  - spec/stoplight_spec.rb
274
- homepage: https://github.com/orgsync/stoplight
288
+ homepage: https://github.com/bolshakov/stoplight
275
289
  licenses:
276
290
  - MIT
277
291
  metadata: {}
@@ -283,41 +297,41 @@ required_ruby_version: !ruby/object:Gem::Requirement
283
297
  requirements:
284
298
  - - ">="
285
299
  - !ruby/object:Gem::Version
286
- version: '2.1'
300
+ version: '2.6'
287
301
  required_rubygems_version: !ruby/object:Gem::Requirement
288
302
  requirements:
289
303
  - - ">="
290
304
  - !ruby/object:Gem::Version
291
305
  version: '0'
292
306
  requirements: []
293
- rubygems_version: 3.1.2
307
+ rubygems_version: 3.2.3
294
308
  signing_key:
295
309
  specification_version: 4
296
310
  summary: Traffic control for code.
297
311
  test_files:
298
312
  - spec/spec_helper.rb
299
- - spec/stoplight_spec.rb
313
+ - spec/stoplight/color_spec.rb
314
+ - spec/stoplight/data_store/base_spec.rb
315
+ - spec/stoplight/data_store/memory_spec.rb
316
+ - spec/stoplight/data_store/redis_spec.rb
317
+ - spec/stoplight/data_store_spec.rb
318
+ - spec/stoplight/default_spec.rb
300
319
  - spec/stoplight/error_spec.rb
301
320
  - spec/stoplight/failure_spec.rb
302
- - spec/stoplight/notifier/pagerduty_spec.rb
303
- - spec/stoplight/notifier/raven_spec.rb
304
- - spec/stoplight/notifier/io_spec.rb
305
- - spec/stoplight/notifier/logger_spec.rb
306
- - spec/stoplight/notifier/honeybadger_spec.rb
307
- - spec/stoplight/notifier/generic_spec.rb
308
- - spec/stoplight/notifier/slack_spec.rb
309
- - spec/stoplight/notifier/rollbar_spec.rb
321
+ - spec/stoplight/light/runnable_spec.rb
322
+ - spec/stoplight/light_spec.rb
310
323
  - spec/stoplight/notifier/base_spec.rb
311
324
  - spec/stoplight/notifier/bugsnag_spec.rb
325
+ - spec/stoplight/notifier/generic_spec.rb
312
326
  - spec/stoplight/notifier/hip_chat_spec.rb
313
- - spec/stoplight/version_spec.rb
314
- - spec/stoplight/state_spec.rb
327
+ - spec/stoplight/notifier/honeybadger_spec.rb
328
+ - spec/stoplight/notifier/io_spec.rb
329
+ - spec/stoplight/notifier/logger_spec.rb
330
+ - spec/stoplight/notifier/pagerduty_spec.rb
331
+ - spec/stoplight/notifier/raven_spec.rb
332
+ - spec/stoplight/notifier/rollbar_spec.rb
333
+ - spec/stoplight/notifier/slack_spec.rb
315
334
  - spec/stoplight/notifier_spec.rb
316
- - spec/stoplight/color_spec.rb
317
- - spec/stoplight/default_spec.rb
318
- - spec/stoplight/data_store_spec.rb
319
- - spec/stoplight/data_store/memory_spec.rb
320
- - spec/stoplight/data_store/redis_spec.rb
321
- - spec/stoplight/data_store/base_spec.rb
322
- - spec/stoplight/light/runnable_spec.rb
323
- - spec/stoplight/light_spec.rb
335
+ - spec/stoplight/state_spec.rb
336
+ - spec/stoplight/version_spec.rb
337
+ - spec/stoplight_spec.rb