rspec-eventually 0.2.0 → 0.2.1

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: ac1a8c6c27ec5d59a5b7d129296693c2d21dbb89
4
- data.tar.gz: dc5f9cf13500fe274b2d828047e73a930d825c3b
3
+ metadata.gz: 95f25fba6427d1d12273581efe60dfecdda04e65
4
+ data.tar.gz: 6a9bb02287f285d58cafeaa9705b7fe40ae239d4
5
5
  SHA512:
6
- metadata.gz: bc83c071364e151e0d1c66b13afa6ad3c68bae7bc95c0f256d34dfe18cfaa2996299dfeb899edc1b17673f33492f0faeccbaaf659e5583b4e3aa40943cef9663
7
- data.tar.gz: d3c7cc383897c3f8c5cb8b3d3eefe6061e2e29e2bd4920b918461bc1b3c307834ba21bd5eb4912dfdd1b976ca8407f326b31d4b8cb69fb0ef76ce33f9d0d41fb
6
+ metadata.gz: b9a666e1d8331a53512e5226701a7f00bf3ca606f9be728c1cb9de71028abd4bfdd941fa056c637ac47a0b483efad12c395f32c76212c049fed6bb8075a18a11
7
+ data.tar.gz: 5034559418f24b9de333dc7e3fe907377cd7cf5ceea2baa223f84c2a1dd083cd93754bc8a6436e5fc9ede2ef4fd2da9a5d88ef2d4e62b924c9fd6caae36892ea
@@ -1,5 +1,5 @@
1
1
  module Rspec
2
2
  module Eventually
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
5
5
  end
@@ -1,5 +1,6 @@
1
1
  require 'rspec/eventually/version'
2
2
  require 'rspec/core'
3
+ require 'timeout'
3
4
 
4
5
  module Rspec
5
6
  module Eventually
@@ -12,6 +13,7 @@ module Rspec
12
13
  class FailedMatcherError < StandardError; end
13
14
 
14
15
  class Eventually
16
+ attr_reader :timeout, :pause, :suppress_errors
15
17
  def by_suppressing_errors
16
18
  tap { @suppress_errors = true }
17
19
  end
@@ -21,7 +23,9 @@ module Rspec
21
23
  @tries = 0
22
24
  @negative = false
23
25
  @custom_msg = custom_msg
24
- @pause = pause
26
+ @timeout = Rspec::Eventually.timeout
27
+ @pause = Rspec::Eventually.pause
28
+ @suppress_errors = false
25
29
  end
26
30
 
27
31
  def matches?(expected_block)
@@ -48,10 +52,6 @@ module Rspec
48
52
  true
49
53
  end
50
54
 
51
- def suppress_errors
52
- @suppress_errors || false
53
- end
54
-
55
55
  def within(timeout)
56
56
  tap { @timeout = timeout }
57
57
  end
@@ -64,28 +64,17 @@ module Rspec
64
64
 
65
65
  def eventually_matches?(expected_block)
66
66
  target_matches?(expected_block) || fail(FailedMatcherError)
67
- rescue => e
68
- if suppress_errors || e.is_a?(FailedMatcherError)
69
- sleep pause
70
- @tries += 1
71
- retry
72
- else
73
- raise
74
- end
67
+ rescue StandardError => e
68
+ raise if !e.is_a?(FailedMatcherError) && !suppress_errors
69
+ sleep pause
70
+ @tries += 1
71
+ retry
75
72
  end
76
73
 
77
74
  def target_matches?(expected_block)
78
75
  result = @target.matches? expected_block.call
79
76
  @negative ? !result : result
80
77
  end
81
-
82
- def timeout
83
- @timeout || Rspec::Eventually.timeout
84
- end
85
-
86
- def pause
87
- @pause || Rspec::Eventually.pause
88
- end
89
78
  end
90
79
 
91
80
  def eventually(target, custom_msg = nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-eventually
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hawk Newton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-29 00:00:00.000000000 Z
11
+ date: 2017-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  version: '0'
108
108
  requirements: []
109
109
  rubyforge_project:
110
- rubygems_version: 2.4.5.1
110
+ rubygems_version: 2.6.13
111
111
  signing_key:
112
112
  specification_version: 4
113
113
  summary: Make your matchers match eventually