resque-async-method 1.0.1 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.0.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-03-20 00:00:00.000000000 Z
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: &70313885840300 !ruby/object:Gem::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: *70313885840300
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: &70313885839860 !ruby/object:Gem::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: *70313885839860
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: &70313885839440 !ruby/object:Gem::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: *70313885839440
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.11
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.