stoplight 2.2.1 → 3.0.1

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 -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