stoplight 2.2.1 → 3.0.1

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -33
  3. data/lib/stoplight/color.rb +4 -4
  4. data/lib/stoplight/data_store/base.rb +10 -1
  5. data/lib/stoplight/data_store/memory.rb +27 -1
  6. data/lib/stoplight/data_store/redis.rb +61 -26
  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 +16 -8
  12. data/lib/stoplight/light.rb +1 -1
  13. data/lib/stoplight/notifier/base.rb +1 -1
  14. data/lib/stoplight/notifier/bugsnag.rb +2 -2
  15. data/lib/stoplight/notifier/generic.rb +1 -1
  16. data/lib/stoplight/notifier/honeybadger.rb +2 -2
  17. data/lib/stoplight/notifier/io.rb +1 -1
  18. data/lib/stoplight/notifier/logger.rb +1 -1
  19. data/lib/stoplight/notifier/pagerduty.rb +1 -1
  20. data/lib/stoplight/notifier/raven.rb +2 -2
  21. data/lib/stoplight/notifier/rollbar.rb +1 -1
  22. data/lib/stoplight/notifier/slack.rb +1 -1
  23. data/lib/stoplight/notifier.rb +1 -1
  24. data/lib/stoplight/state.rb +4 -4
  25. data/lib/stoplight/version.rb +2 -2
  26. data/lib/stoplight.rb +2 -3
  27. data/spec/spec_helper.rb +2 -3
  28. data/spec/stoplight/color_spec.rb +1 -1
  29. data/spec/stoplight/data_store/base_spec.rb +8 -1
  30. data/spec/stoplight/data_store/memory_spec.rb +27 -1
  31. data/spec/stoplight/data_store/redis_spec.rb +37 -6
  32. data/spec/stoplight/data_store_spec.rb +1 -1
  33. data/spec/stoplight/default_spec.rb +1 -1
  34. data/spec/stoplight/error_spec.rb +1 -1
  35. data/spec/stoplight/failure_spec.rb +1 -1
  36. data/spec/stoplight/light/runnable_spec.rb +39 -9
  37. data/spec/stoplight/light_spec.rb +5 -5
  38. data/spec/stoplight/notifier/base_spec.rb +1 -1
  39. data/spec/stoplight/notifier/bugsnag_spec.rb +1 -1
  40. data/spec/stoplight/notifier/generic_spec.rb +1 -1
  41. data/spec/stoplight/notifier/honeybadger_spec.rb +1 -1
  42. data/spec/stoplight/notifier/io_spec.rb +1 -1
  43. data/spec/stoplight/notifier/logger_spec.rb +1 -1
  44. data/spec/stoplight/notifier/pagerduty_spec.rb +1 -1
  45. data/spec/stoplight/notifier/raven_spec.rb +1 -1
  46. data/spec/stoplight/notifier/rollbar_spec.rb +1 -1
  47. data/spec/stoplight/notifier/slack_spec.rb +2 -3
  48. data/spec/stoplight/notifier_spec.rb +1 -1
  49. data/spec/stoplight/state_spec.rb +1 -1
  50. data/spec/stoplight/version_spec.rb +1 -1
  51. data/spec/stoplight_spec.rb +1 -1
  52. metadata +79 -54
  53. data/lib/stoplight/notifier/hip_chat.rb +0 -43
  54. data/spec/stoplight/notifier/hip_chat_spec.rb +0 -92
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -130,4 +130,30 @@ RSpec.describe Stoplight::DataStore::Memory do
130
130
  expect(data_store.get_state(light)).to eql(Stoplight::State::UNLOCKED)
131
131
  end
132
132
  end
133
+
134
+ describe '#with_notification_lock' do
135
+ context 'when notification is already sent' do
136
+ before do
137
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED) {}
138
+ end
139
+
140
+ it 'does not yield passed block' do
141
+ expect do |b|
142
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED, &b)
143
+ end.not_to yield_control
144
+ end
145
+ end
146
+
147
+ context 'when notification is not already sent' do
148
+ before do
149
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED) {}
150
+ end
151
+
152
+ it 'yields passed block' do
153
+ expect do |b|
154
+ data_store.with_notification_lock(light, Stoplight::Color::RED, Stoplight::Color::GREEN, &b)
155
+ end.to yield_control
156
+ end
157
+ end
158
+ end
133
159
  end
@@ -1,17 +1,16 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
- require 'fakeredis'
4
+ require 'mock_redis'
5
5
 
6
6
  RSpec.describe Stoplight::DataStore::Redis do
7
- let(:data_store) { described_class.new(redis) }
8
- let(:redis) { Redis.new }
7
+ let(:data_store) { described_class.new(redis, redlock: redlock) }
8
+ let(:redis) { MockRedis.new }
9
+ let(:redlock) { instance_double(Redlock::Client) }
9
10
  let(:light) { Stoplight::Light.new(name) {} }
10
11
  let(:name) { ('a'..'z').to_a.shuffle.join }
11
12
  let(:failure) { Stoplight::Failure.new('class', 'message', Time.new) }
12
13
 
13
- before { Redis::Connection::Memory.reset_all_databases }
14
-
15
14
  it 'is a class' do
16
15
  expect(described_class).to be_a(Class)
17
16
  end
@@ -143,4 +142,36 @@ RSpec.describe Stoplight::DataStore::Redis do
143
142
  expect(data_store.get_state(light)).to eql(Stoplight::State::UNLOCKED)
144
143
  end
145
144
  end
145
+
146
+ describe '#with_notification_lock' do
147
+ let(:lock_key) { "stoplight:notification_lock:#{name}" }
148
+
149
+ before do
150
+ allow(redlock).to receive(:lock).with(lock_key, 2_000).and_yield
151
+ end
152
+
153
+ context 'when notification is already sent' do
154
+ before do
155
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED) {}
156
+ end
157
+
158
+ it 'does not yield passed block' do
159
+ expect do |b|
160
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED, &b)
161
+ end.not_to yield_control
162
+ end
163
+ end
164
+
165
+ context 'when notification is not already sent' do
166
+ before do
167
+ data_store.with_notification_lock(light, Stoplight::Color::GREEN, Stoplight::Color::RED) {}
168
+ end
169
+
170
+ it 'yields passed block' do
171
+ expect do |b|
172
+ data_store.with_notification_lock(light, Stoplight::Color::RED, Stoplight::Color::GREEN, &b)
173
+ end.to yield_control
174
+ end
175
+ end
176
+ end
146
177
  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,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
 
@@ -109,6 +109,38 @@ RSpec.describe Stoplight::Light::Runnable do
109
109
  expect(subject.data_store.get_failures(subject).size).to eql(1)
110
110
  end
111
111
 
112
+ context 'when we did not send notifications yet' do
113
+ it 'notifies when transitioning to red' do
114
+ subject.threshold.times do
115
+ expect(io.string).to eql('')
116
+ begin
117
+ subject.run
118
+ rescue error.class
119
+ nil
120
+ end
121
+ end
122
+ expect(io.string).to_not eql('')
123
+ end
124
+ end
125
+
126
+ context 'when we already sent notifications' do
127
+ before do
128
+ subject.data_store.with_notification_lock(subject, Stoplight::Color::GREEN, Stoplight::Color::RED) {}
129
+ end
130
+
131
+ it 'does not send new notifications' do
132
+ subject.threshold.times do
133
+ expect(io.string).to eql('')
134
+ begin
135
+ subject.run
136
+ rescue error.class
137
+ nil
138
+ end
139
+ end
140
+ expect(io.string).to eql('')
141
+ end
142
+ end
143
+
112
144
  it 'notifies when transitioning to red' do
113
145
  subject.threshold.times do
114
146
  expect(io.string).to eql('')
@@ -123,12 +155,10 @@ RSpec.describe Stoplight::Light::Runnable do
123
155
 
124
156
  context 'with an error handler' do
125
157
  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
158
+ subject.run
159
+ expect(false).to be(true)
160
+ rescue error.class
161
+ expect(true).to be(true)
132
162
  end
133
163
 
134
164
  it 'records the failure when the handler does nothing' do
@@ -171,7 +201,7 @@ RSpec.describe Stoplight::Light::Runnable do
171
201
 
172
202
  context 'when the data store is failing' do
173
203
  let(:data_store) { Object.new }
174
- let(:error_notifier) { -> (_) {} }
204
+ let(:error_notifier) { ->(_) {} }
175
205
 
176
206
  before do
177
207
  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,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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Desautels
@@ -10,92 +10,92 @@ 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-12-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: benchmark-ips
16
+ name: redlock
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '2.3'
22
- type: :development
21
+ version: '1.0'
22
+ type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '2.3'
28
+ version: '1.0'
29
29
  - !ruby/object:Gem::Dependency
30
- name: bugsnag
30
+ name: benchmark-ips
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '4.0'
35
+ version: '2.3'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '4.0'
42
+ version: '2.3'
43
43
  - !ruby/object:Gem::Dependency
44
- name: coveralls
44
+ name: bugsnag
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '0.8'
49
+ version: '4.0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '0.8'
56
+ version: '4.0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: fakeredis
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0.5'
63
+ version: '0.8'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0.5'
70
+ version: '0.8'
71
71
  - !ruby/object:Gem::Dependency
72
- name: hipchat
72
+ name: honeybadger
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '1.5'
77
+ version: '2.5'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '1.5'
84
+ version: '2.5'
85
85
  - !ruby/object:Gem::Dependency
86
- name: honeybadger
86
+ name: mock_redis
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '2.5'
91
+ version: '0.3'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '2.5'
98
+ version: '0.3'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: pagerduty
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -116,56 +116,56 @@ dependencies:
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '11.1'
119
+ version: '13.0'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
- version: '11.1'
126
+ version: '13.0'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: redis
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: '3.2'
133
+ version: '4.1'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: '3.2'
140
+ version: '4.1'
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rspec
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '3.3'
147
+ version: '3.11'
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: '3.3'
154
+ version: '3.11'
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: rubocop
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: 0.40.0
161
+ version: 1.0.0
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - "~>"
167
167
  - !ruby/object:Gem::Version
168
- version: 0.40.0
168
+ version: 1.0.0
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: sentry-raven
171
171
  requirement: !ruby/object:Gem::Requirement
@@ -180,6 +180,34 @@ dependencies:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
182
  version: '1.2'
183
+ - !ruby/object:Gem::Dependency
184
+ name: simplecov
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.21'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '0.21'
197
+ - !ruby/object:Gem::Dependency
198
+ name: simplecov-lcov
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: '0.8'
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: '0.8'
183
211
  - !ruby/object:Gem::Dependency
184
212
  name: slack-notifier
185
213
  requirement: !ruby/object:Gem::Requirement
@@ -200,14 +228,14 @@ dependencies:
200
228
  requirements:
201
229
  - - "~>"
202
230
  - !ruby/object:Gem::Version
203
- version: '0.8'
231
+ version: '0.9'
204
232
  type: :development
205
233
  prerelease: false
206
234
  version_requirements: !ruby/object:Gem::Requirement
207
235
  requirements:
208
236
  - - "~>"
209
237
  - !ruby/object:Gem::Version
210
- version: '0.8'
238
+ version: '0.9'
211
239
  description: An implementation of the circuit breaker pattern.
212
240
  email:
213
241
  - camdez@gmail.com
@@ -235,7 +263,6 @@ files:
235
263
  - lib/stoplight/notifier/base.rb
236
264
  - lib/stoplight/notifier/bugsnag.rb
237
265
  - lib/stoplight/notifier/generic.rb
238
- - lib/stoplight/notifier/hip_chat.rb
239
266
  - lib/stoplight/notifier/honeybadger.rb
240
267
  - lib/stoplight/notifier/io.rb
241
268
  - lib/stoplight/notifier/logger.rb
@@ -259,7 +286,6 @@ files:
259
286
  - spec/stoplight/notifier/base_spec.rb
260
287
  - spec/stoplight/notifier/bugsnag_spec.rb
261
288
  - spec/stoplight/notifier/generic_spec.rb
262
- - spec/stoplight/notifier/hip_chat_spec.rb
263
289
  - spec/stoplight/notifier/honeybadger_spec.rb
264
290
  - spec/stoplight/notifier/io_spec.rb
265
291
  - spec/stoplight/notifier/logger_spec.rb
@@ -271,7 +297,7 @@ files:
271
297
  - spec/stoplight/state_spec.rb
272
298
  - spec/stoplight/version_spec.rb
273
299
  - spec/stoplight_spec.rb
274
- homepage: https://github.com/orgsync/stoplight
300
+ homepage: https://github.com/bolshakov/stoplight
275
301
  licenses:
276
302
  - MIT
277
303
  metadata: {}
@@ -283,41 +309,40 @@ required_ruby_version: !ruby/object:Gem::Requirement
283
309
  requirements:
284
310
  - - ">="
285
311
  - !ruby/object:Gem::Version
286
- version: '2.1'
312
+ version: '2.6'
287
313
  required_rubygems_version: !ruby/object:Gem::Requirement
288
314
  requirements:
289
315
  - - ">="
290
316
  - !ruby/object:Gem::Version
291
317
  version: '0'
292
318
  requirements: []
293
- rubygems_version: 3.1.2
319
+ rubygems_version: 3.3.7
294
320
  signing_key:
295
321
  specification_version: 4
296
322
  summary: Traffic control for code.
297
323
  test_files:
298
324
  - spec/spec_helper.rb
299
- - spec/stoplight_spec.rb
325
+ - spec/stoplight/color_spec.rb
326
+ - spec/stoplight/data_store/base_spec.rb
327
+ - spec/stoplight/data_store/memory_spec.rb
328
+ - spec/stoplight/data_store/redis_spec.rb
329
+ - spec/stoplight/data_store_spec.rb
330
+ - spec/stoplight/default_spec.rb
300
331
  - spec/stoplight/error_spec.rb
301
332
  - spec/stoplight/failure_spec.rb
302
- - spec/stoplight/notifier/pagerduty_spec.rb
303
- - spec/stoplight/notifier/raven_spec.rb
333
+ - spec/stoplight/light/runnable_spec.rb
334
+ - spec/stoplight/light_spec.rb
335
+ - spec/stoplight/notifier/base_spec.rb
336
+ - spec/stoplight/notifier/bugsnag_spec.rb
337
+ - spec/stoplight/notifier/generic_spec.rb
338
+ - spec/stoplight/notifier/honeybadger_spec.rb
304
339
  - spec/stoplight/notifier/io_spec.rb
305
340
  - 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
341
+ - spec/stoplight/notifier/pagerduty_spec.rb
342
+ - spec/stoplight/notifier/raven_spec.rb
309
343
  - spec/stoplight/notifier/rollbar_spec.rb
310
- - spec/stoplight/notifier/base_spec.rb
311
- - spec/stoplight/notifier/bugsnag_spec.rb
312
- - spec/stoplight/notifier/hip_chat_spec.rb
313
- - spec/stoplight/version_spec.rb
314
- - spec/stoplight/state_spec.rb
344
+ - spec/stoplight/notifier/slack_spec.rb
315
345
  - 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
346
+ - spec/stoplight/state_spec.rb
347
+ - spec/stoplight/version_spec.rb
348
+ - spec/stoplight_spec.rb