perfect_retry 0.3.2 → 0.4.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: 5101e2376c9d12d1a0c9f90511a3620d4fafea16
4
- data.tar.gz: 40721c190a01cc6e38dd41d4bf3cead98460374a
3
+ metadata.gz: 91a3e0ae52cdd51cc087c67001602f26754b9959
4
+ data.tar.gz: 46ab65fcdea92f041cd8b49818adfcca12330564
5
5
  SHA512:
6
- metadata.gz: 54c218762f5aea3a28635091e2416438a071bc92b6fd2e0468f4fe5a1921d45a01e5ff8dfd28ca28de58936bf40aea96b96225dd975df04a74a2729e7e9794fc
7
- data.tar.gz: 2f3b7259d3da132c3c6a197b879039aba817eee4f9d0acba98993fd310046941ddec438710795fe9e5fa7103d9074c88006eb8db6c94d8f57ae0da206bb39c63
6
+ metadata.gz: 9f0999eec296ff61a7bce726a7dba876d1d09cf171aaad2a963dcc72bb608a8d7767554cfadabd3e5fd4f573ba726018af0ddc9da58fd75ea0c8cf0cd1bd77b6
7
+ data.tar.gz: e518ec8bf05520a5833de6da270de9019395f9257ef1beff87b647bdee2681d9d8fe7de112a17d133fa2fececabd55afb81c81d30fdad1186c2a5498dbbf7099
@@ -4,6 +4,7 @@ rvm:
4
4
  - 2.0.0
5
5
  - 2.1
6
6
  - 2.2.3
7
+ - 2.3.0
7
8
  - jruby-19mode
8
9
  - jruby-9.0.0.0
9
10
  - jruby-head
@@ -15,4 +16,5 @@ addons:
15
16
  code_climate:
16
17
  repo_token: 0ddf2a14a01d14b70843d9ad37ce4e7f1ff7edd7c08aec35d5d830299342850d
17
18
 
18
- before_install: gem install bundler -v 1.10.6
19
+ before_install:
20
+ - gem install bundler -v 1.10.6
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015 uu59
3
+ Copyright (c) 2015-2016 uu59
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/NEWS.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 0.4.0 2016-01-19
2
+
3
+ - [enhancement] Add `PerfectRetry.disable!` and `PerfectRetry.enable!` for testing. [#5](https://github.com/uu59/perfect_retry/pull/5)
4
+
1
5
  # 0.3.2 2015-11-16
2
6
 
3
7
  - [fixed] Don't warn if `log_level` is nil and logger doesn't have `level=` method.
data/README.md CHANGED
@@ -111,6 +111,8 @@ end
111
111
 
112
112
  ## Installation
113
113
 
114
+ This gem is following [semver](http://semver.org/). Any "next" major version up will possibly change default parameter, behavior, etc. If you want to keep "current" behavior, fix your major version such `gem "perfect_retry", "~> 0.3.0"`.
115
+
114
116
  Add this line to your application's Gemfile:
115
117
 
116
118
  ```ruby
@@ -11,8 +11,8 @@ class PerfectRetry
11
11
  rescues: [StandardError],
12
12
  dont_rescues: [],
13
13
  logger: Logger.new(STDERR),
14
- log_level: :info,
15
- sleep: lambda{|n| n ** 2},
14
+ log_level: :info, # CHANGE(1.0): to be `nil`
15
+ sleep: lambda{|n| n ** 2}, # CHANGE(1.0): to be exponential backoff algorithm
16
16
  ensure: lambda{},
17
17
  }.freeze
18
18
 
@@ -38,6 +38,18 @@ class PerfectRetry
38
38
  REGISTERED_CONFIG.clear
39
39
  end
40
40
 
41
+ def self.disable!
42
+ @disabled = true
43
+ end
44
+
45
+ def self.enable!
46
+ @disabled = false
47
+ end
48
+
49
+ def self.disabled?
50
+ @disabled.nil? ? false : @disabled
51
+ end
52
+
41
53
  attr_reader :config
42
54
 
43
55
  def initialize(config_key = nil, &block)
@@ -51,6 +63,8 @@ class PerfectRetry
51
63
  end
52
64
 
53
65
  def with_retry(&block)
66
+ return block.call(0) if PerfectRetry.disabled?
67
+
54
68
  count = 0
55
69
  begin
56
70
  retry_with_catch(count, &block)
@@ -1,3 +1,3 @@
1
1
  class PerfectRetry
2
- VERSION = "0.3.2".freeze
2
+ VERSION = "0.4.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perfect_retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - uu59
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-16 00:00:00.000000000 Z
11
+ date: 2016-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler