wireframe-resque_unit 0.4.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,167 @@
1
+ class LowPriorityJob
2
+ @queue = :low
3
+ @run = false
4
+ def self.perform
5
+ self.run = true
6
+ end
7
+
8
+ def self.run?
9
+ @run
10
+ end
11
+
12
+ def self.run=(value)
13
+ @run = value
14
+ end
15
+ end
16
+
17
+ class MediumPriorityJob
18
+ def self.queue
19
+ :medium
20
+ end
21
+ end
22
+
23
+ class HighPriorityJob
24
+ @queue = :high
25
+
26
+ def self.perform
27
+ end
28
+ end
29
+
30
+ class JobWithArguments
31
+ @queue = :medium
32
+
33
+ def self.perform(num, text, hash)
34
+
35
+ end
36
+ end
37
+
38
+ class JobThatCreatesANewJob
39
+ @queue = :spawn
40
+
41
+ def self.perform
42
+ Resque.enqueue(LowPriorityJob)
43
+ end
44
+ end
45
+
46
+ class JobThatDoesNotSpecifyAQueue
47
+
48
+ def self.perform
49
+ end
50
+ end
51
+
52
+ module HooksMethods
53
+ def after_enqueue_mark(*args)
54
+ markers[:after_enqueue] = true
55
+ end
56
+
57
+ def before_enqueue_mark(*args)
58
+ markers[:before_enqueue] = true
59
+ end
60
+
61
+ def after_perform_mark(*args)
62
+ markers[:after] = true
63
+ end
64
+
65
+ def failure_perform_mark(*args)
66
+ markers[:failure] = true
67
+ end
68
+ end
69
+
70
+ class JobWithHooks
71
+ extend HooksMethods
72
+
73
+ @queue = :with_hooks
74
+ @markers = {}
75
+
76
+ def self.perform
77
+ raise 'FAIL!' if @will_fail
78
+ end
79
+
80
+ def self.markers
81
+ @markers
82
+ end
83
+
84
+ def self.clear_markers
85
+ @markers = {}
86
+ end
87
+
88
+ def self.before_perform_mark(*args)
89
+ markers[:before] = true
90
+ end
91
+
92
+ def self.around_perform_mark(*args)
93
+ markers[:around] = true
94
+ if @dont_perform
95
+ raise Resque::Job::DontPerform
96
+ else
97
+ yield
98
+ end
99
+ end
100
+
101
+ def self.make_it_fail(&block)
102
+ @will_fail = true
103
+ yield
104
+ ensure
105
+ @will_fail = false
106
+ end
107
+
108
+ def self.make_it_dont_perform(&block)
109
+ @dont_perform = true
110
+ ensure
111
+ @dont_perform = false
112
+ end
113
+ end
114
+
115
+ class JobWithHooksBeforeBlocks < JobWithHooks
116
+ @queue = :with_hooks
117
+ def self.before_enqueue_block_enqueueing
118
+ return false
119
+ end
120
+ end
121
+
122
+ class JobWithHooksWithoutBefore
123
+ extend HooksMethods
124
+
125
+ @queue = :with_hooks
126
+ @markers = {}
127
+
128
+ def self.markers
129
+ @markers
130
+ end
131
+
132
+ def self.clear_markers
133
+ @markers = {}
134
+ end
135
+
136
+ def self.perform; end
137
+
138
+ def self.around_perform_mark(*args)
139
+ markers[:around] = true
140
+ if @dont_perform
141
+ raise Resque::Job::DontPerform
142
+ else
143
+ yield
144
+ end
145
+ end
146
+ end
147
+
148
+ class JobWithHooksWithoutAround
149
+ extend HooksMethods
150
+
151
+ @queue = :with_hooks
152
+ @markers = {}
153
+
154
+ def self.markers
155
+ @markers
156
+ end
157
+
158
+ def self.clear_markers
159
+ @markers = {}
160
+ end
161
+
162
+ def self.perform; end
163
+
164
+ def self.before_perform_mark(*args)
165
+ markers[:before] = true
166
+ end
167
+ end
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'shoulda'
3
+ require 'resque_unit'
4
+ require 'sample_jobs'
5
+
6
+ # Fix shoulda under 1.9.2. See https://github.com/thoughtbot/shoulda/issues/issue/117
7
+ unless defined?(Test::Unit::AssertionFailedError)
8
+ Test::Unit::AssertionFailedError = MiniTest::Assertion
9
+ end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wireframe-resque_unit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Justin Weiss
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: &2155702920 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.6
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2155702920
25
+ - !ruby/object:Gem::Dependency
26
+ name: bundler
27
+ requirement: &2155702520 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *2155702520
36
+ - !ruby/object:Gem::Dependency
37
+ name: shoulda
38
+ requirement: &2155702060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2155702060
47
+ description:
48
+ email: justin@uberweiss.org
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files:
52
+ - README.md
53
+ files:
54
+ - lib/resque_unit/assertions.rb
55
+ - lib/resque_unit/errors.rb
56
+ - lib/resque_unit/helpers.rb
57
+ - lib/resque_unit/plugin.rb
58
+ - lib/resque_unit/resque.rb
59
+ - lib/resque_unit/scheduler.rb
60
+ - lib/resque_unit/scheduler_assertions.rb
61
+ - lib/resque_unit.rb
62
+ - lib/resque_unit_scheduler.rb
63
+ - test/resque_test.rb
64
+ - test/resque_unit_scheduler_test.rb
65
+ - test/resque_unit_test.rb
66
+ - test/sample_jobs.rb
67
+ - test/test_helper.rb
68
+ - README.md
69
+ homepage: http://github.com/justinweiss/resque_unit
70
+ licenses: []
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubyforge_project:
89
+ rubygems_version: 1.8.15
90
+ signing_key:
91
+ specification_version: 3
92
+ summary: Test::Unit support for resque job queueing
93
+ test_files:
94
+ - test/resque_test.rb
95
+ - test/resque_unit_scheduler_test.rb
96
+ - test/resque_unit_test.rb