Permalink
Browse files

Merge pull request #42 from mnemonikk/master

enable send_later for module methods
  • Loading branch information...
2 parents d9165b9 + a67dc38 commit 7da8b832fc33ba729ddffbc63cfacaa4fbd28f58 @tobi committed Aug 11, 2011
Showing with 16 additions and 2 deletions.
  1. +2 −2 lib/delayed/performable_method.rb
  2. +14 −0 spec/delayed_method_spec.rb
@@ -38,7 +38,7 @@ def load(arg)
def dump(arg)
case arg
- when Class then class_to_string(arg)
+ when Class, Module then class_to_string(arg)
when ActiveRecord::Base then ar_to_string(arg)
else arg
end
@@ -52,4 +52,4 @@ def class_to_string(obj)
"CLASS:#{obj.name}"
end
end
-end
+end
@@ -11,6 +11,12 @@ def say_hello
end
end
+module RandomModule
+ def self.say_hello
+ 'hello'
+ end
+end
+
class ErrorObject
def throw
@@ -110,6 +116,14 @@ def read(story)
job.payload_object.perform.should == 'Epilog: Once upon...'
end
+ it "should store the object as string if it's a module" do
+ RandomModule.send_later(:say_hello)
+ job = Delayed::Job.find(:first)
+ job.payload_object.method.should == :say_hello
+ job.payload_object.object.should == "CLASS:RandomModule"
+ job.payload_object.perform.should == 'hello'
+ end
+
it "should call send later on methods which are wrapped with handle_asynchronously" do
story = Story.create :text => 'Once upon...'

0 comments on commit 7da8b83

Please sign in to comment.