faraday_middleware-circuit_breaker 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: