clockwork-mocks 1.0.0 → 1.1.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: 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