clockwork-mocks 1.0.0 → 1.1.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: 3ed0bbc20a2a75a27c1bfdf71396fb9ef4568dcc
4
- data.tar.gz: a1d8eb6db6fb3e5d54eb4de9b9da4a2bc80f61c3
3
+ metadata.gz: 94bc4a87b20cc4538022d8108d378f3837a70d9c
4
+ data.tar.gz: 51abfc3bc99ee90e8f0475ee0f574b7f3f72ea20
5
5
  SHA512:
6
- metadata.gz: 8f5f84d7e61fb64a4bf732cc55fbed41ff7b22936688fcd44699c7d13d781503212c7fb95fde24d007ecaf26a20c15849e270c7c77aa9ac734565ff46cbd65f5
7
- data.tar.gz: 1cc93a02c58ffbf717f003983d407ff5e70a8de04fd964a8f430f8d91fa52b248c1fdcdcf0baec49e93afd285351c121198c58f5c139229eb04c6adeb39c03ca
6
+ metadata.gz: 5355bc1822a989f0576ad6e03b3b897cee934b8d788539001fcd7991ab12e976746339fa07f3e074a7d18c0f70cdef53f270b44a3e0586d2111bb51d6190c5ca
7
+ data.tar.gz: '0985fc155ef2db109b696711f8388f6b5bf35fcf0a14a4e99c82c28bf10d4de3ebe6a19f5a90e3d78d36a49019127ffb6c93aedeb969ee24bce239e452643043'
data/README.md CHANGED
@@ -110,6 +110,11 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
110
110
  Bug reports and pull requests are welcome on GitHub at https://github.com/dpoetzsch/clockwork-mocks.
111
111
  This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
112
112
 
113
+ ### TODO
114
+
115
+ [x] Basic support for tasks with block
116
+ [x] Support for `Clockwork.handler`
117
+
113
118
  ## License
114
119
 
115
120
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency 'clockwork', '~> 2.0'
28
28
 
29
29
  spec.add_development_dependency 'bundler', '~> 1.15'
30
+ spec.add_development_dependency 'byebug'
30
31
  spec.add_development_dependency 'guard-rspec'
31
32
  spec.add_development_dependency 'rake', '~> 10.0'
32
33
  spec.add_development_dependency 'rspec', '~> 3.0'
@@ -16,8 +16,12 @@ module ClockworkMocks
16
16
  @due = calc_due
17
17
  end
18
18
 
19
- def perform
20
- @block.call
19
+ def perform(handler = nil)
20
+ if @block
21
+ @block.call
22
+ elsif handler
23
+ handler.call(@name, Time.now)
24
+ end
21
25
  @due = calc_due
22
26
  end
23
27
 
@@ -4,13 +4,17 @@ module ClockworkMocks
4
4
  class Scheduler
5
5
  attr_reader :tasks
6
6
 
7
- def initialize()
7
+ def initialize
8
8
  @tasks = []
9
9
  end
10
10
 
11
11
  def self.init_rspec(allow, receive, clock_file = nil)
12
12
  scheduler = Scheduler.new
13
13
 
14
+ allow.call(Clockwork).to receive.call(:handler) do |&block|
15
+ scheduler.handler(&block)
16
+ end
17
+
14
18
  allow.call(Clockwork).to receive.call(:every) do |interval, name, hash, &block|
15
19
  scheduler.every interval, name, hash, &block
16
20
  end
@@ -35,7 +39,7 @@ module ClockworkMocks
35
39
 
36
40
  break if t.nil? || t.due > Time.now
37
41
 
38
- t.perform
42
+ t.perform(@handler)
39
43
  end
40
44
  end
41
45
 
@@ -43,6 +47,11 @@ module ClockworkMocks
43
47
  @tasks.each(&:reset!)
44
48
  end
45
49
 
50
+ def handler(&block)
51
+ return @handler unless block_given?
52
+ @handler = block
53
+ end
54
+
46
55
  def every(interval, name, hash = {}, &block)
47
56
  @tasks.push ClockworkTask.new(interval, name, hash, block)
48
57
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ClockworkMocks
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clockwork-mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Poetzsch-Heffter
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.15'
41
+ - !ruby/object:Gem::Dependency
42
+ name: byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: guard-rspec
43
57
  requirement: !ruby/object:Gem::Requirement