perfect_retry 0.3.2 → 0.4.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: 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