resque-async-method 1.0.1 → 1.1
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.
- data/lib/resque/plugins/async/method.rb +7 -3
- metadata +24 -9
@@ -3,19 +3,23 @@ require 'resque/plugins/async/worker'
|
|
3
3
|
module Resque::Plugins::Async::Method
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
|
+
class NotPersistedError < StandardError; end
|
7
|
+
|
6
8
|
module ClassMethods
|
7
9
|
def async_method(method_name, opts={})
|
8
10
|
# Allow tests to call sync_ methods ...
|
9
11
|
alias_method :"sync_#{method_name}", method_name
|
10
|
-
|
12
|
+
|
11
13
|
# ... but don't actually make them asynchronous
|
12
14
|
return if Rails.env.test?
|
13
|
-
|
15
|
+
|
14
16
|
define_method "#{method_name}" do |*args|
|
17
|
+
raise NotPersistedError, "Methods can only be async'ed on persisted records (currently: #{inspect})" unless persisted?
|
18
|
+
|
15
19
|
my_klass = Resque::Plugins::Async::Worker
|
16
20
|
my_klass.queue = opts[:queue] ||
|
17
21
|
send(:class).name.underscore.pluralize
|
18
|
-
|
22
|
+
|
19
23
|
Resque.enqueue(
|
20
24
|
my_klass,
|
21
25
|
send(:class).name,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-async-method
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.1'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: resque
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: activesupport
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: sqlite3
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
description: Make Active Record instance methods asynchronous using resque.
|
48
63
|
email: nick.ragaz@gmail.com
|
49
64
|
executables: []
|
@@ -76,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
91
|
version: '0'
|
77
92
|
requirements: []
|
78
93
|
rubyforge_project:
|
79
|
-
rubygems_version: 1.8.
|
94
|
+
rubygems_version: 1.8.23
|
80
95
|
signing_key:
|
81
96
|
specification_version: 3
|
82
97
|
summary: Make Active Record instance methods asynchronous using resque.
|