faraday_middleware-circuit_breaker 0.2.0 → 0.3.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
2
  SHA1:
3
- metadata.gz: 9cc5d50226438b045787ae339702f4b8d93d80fc
4
- data.tar.gz: ef7c5039f7bc7f83033eeee83eedb4558406e9f3
3
+ metadata.gz: 8deaaad1b7866b3bb93efe91ae63f492e446f382
4
+ data.tar.gz: 4c79b86afe36d6ae42733d83ff21beac8365284c
5
5
  SHA512:
6
- metadata.gz: 5d4d16f05f94dbf64a7dfcb15cbe55b843ec634e9d205ef9402a190e3e8dd3f6b69e517ce71807d478c165e39e8d0621d5c7e9f2bddbaadb027995dc176e7c4b
7
- data.tar.gz: 2e55277a94873bb0183f701b04b5d0a18ce2b1833a0c26223a8ec9feb4900cedd70e6d6dacba2c6a6be7467cad2e1a39833e3182497de717aa3acfff6b2ac868
6
+ metadata.gz: 0a1267f7b41141ff8f6c02dc96a5ae199d2ff5b2cc6b3e83e242d1eade766a0a24de721c3602525fd38867cf192df2ebb627fca73cd376d4d1b745ce31eb7387
7
+ data.tar.gz: 2361860fcffd409f10db8ac07265116bedd52c0bc2947645ae4f00c2e4b802936679cbced2faf4f74a7c0d6b1688cf5737625df2910384658a227c5fb94ab2d8
@@ -1,3 +1,7 @@
1
+ # 0.3.0
2
+
3
+ * Handles stoplight data store
4
+
1
5
  # 0.2.0
2
6
 
3
7
  * Introduces sentry/raven notifier
@@ -15,14 +15,14 @@ Gem::Specification.new do |spec|
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.bindir = "bin"
19
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency 'faraday', '~> 0.9'
23
23
  spec.add_dependency 'stoplight', '~> 2.1'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.10'
26
- spec.add_development_dependency 'rake', '~> 10.0'
26
+ spec.add_development_dependency 'rake', '~> 11.2'
27
27
  spec.add_development_dependency 'rspec'
28
28
  end
@@ -12,6 +12,7 @@ module FaradayMiddleware
12
12
 
13
13
  @option_set = OptionSet.new(options)
14
14
 
15
+ setup_data_store
15
16
  setup_notifiers
16
17
  end
17
18
 
@@ -29,6 +30,10 @@ module FaradayMiddleware
29
30
 
30
31
  attr_reader :option_set
31
32
 
33
+ def setup_data_store
34
+ Stoplight::Light.default_data_store = option_set.data_store.call
35
+ end
36
+
32
37
  def setup_notifiers
33
38
  option_set.notifiers.each do |notifier, value|
34
39
  case notifier.to_sym
@@ -36,7 +41,7 @@ module FaradayMiddleware
36
41
  Stoplight::Light.default_notifiers += [Stoplight::Notifier::Logger.new(value)]
37
42
  when :honeybadger
38
43
  Stoplight::Light.default_notifiers += [Stoplight::Notifier::Honeybadger.new(value)]
39
- when :raven
44
+ when :raven, :sentry
40
45
  Stoplight::Light.default_notifiers += [Stoplight::Notifier::Raven.new(value)]
41
46
  when :hip_chat
42
47
  Stoplight::Light.default_notifiers += [Stoplight::Notifier::HipChat.new(value[:client], value[:room])]
@@ -6,15 +6,16 @@ module FaradayMiddleware
6
6
  module CircuitBreaker
7
7
  class OptionSet
8
8
 
9
- VALID_OPTIONS = %w(timeout threshold fallback notifiers)
9
+ VALID_OPTIONS = %w(timeout threshold fallback notifiers data_store)
10
10
 
11
- attr_accessor :timeout, :threshold, :fallback, :notifiers
11
+ attr_accessor :timeout, :threshold, :fallback, :notifiers, :data_store
12
12
 
13
13
  def initialize(options = {})
14
- @timeout = options[:timeout] || 60.0
15
- @threshold = options[:threshold] || 3
16
- @fallback = options[:fallback] || proc { Faraday::Response.new(status: 503, response_headers: {}) }
17
- @notifiers = options[:notifiers] || {}
14
+ @timeout = options[:timeout] || 60.0
15
+ @threshold = options[:threshold] || 3
16
+ @fallback = options[:fallback] || proc { Faraday::Response.new(status: 503, response_headers: {}) }
17
+ @notifiers = options[:notifiers] || {}
18
+ @data_store = options[:data_store] || proc { Stoplight::Light.default_data_store }
18
19
  end
19
20
 
20
21
  def self.validate!(options)
@@ -1,5 +1,5 @@
1
1
  module FaradayMiddleware
2
2
  module CircuitBreaker
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday_middleware-circuit_breaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre-Louis Gottfrois
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-08 00:00:00.000000000 Z
11
+ date: 2017-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '11.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '11.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +83,9 @@ dependencies:
83
83
  description: A Faraday Middleware to handle spotty web services.
84
84
  email:
85
85
  - pierre-louis@textmaster.com
86
- executables: []
86
+ executables:
87
+ - console
88
+ - setup
87
89
  extensions: []
88
90
  extra_rdoc_files: []
89
91
  files:
@@ -122,9 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
124
  version: '0'
123
125
  requirements: []
124
126
  rubyforge_project:
125
- rubygems_version: 2.5.1
127
+ rubygems_version: 2.6.13
126
128
  signing_key:
127
129
  specification_version: 4
128
130
  summary: Middleware to apply circuit breaker pattern.
129
131
  test_files: []
130
- has_rdoc: