Skip to content

Commit

Permalink
Maintenence
Browse files Browse the repository at this point in the history
  • Loading branch information
KensoDev committed May 23, 2012
1 parent 2890a2e commit 9d63160
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 10 deletions.
13 changes: 7 additions & 6 deletions lib/object_perform_later.rb
Expand Up @@ -3,28 +3,29 @@ def perform_later(queue, method, *args)
return self.send(method, *args) unless PerformLater.config.enabled?

worker = PerformLater::Workers::Objects::Worker
perform_later_enqueue(worker, queue, method, args)
perform_later_enqueue(worker, queue, method, *args)
end

def perform_later!(queue, method, *args)
return self.send(method, *args) unless PerformLater.config.enabled?

return "EXISTS!" if loner_exists(method, args)
return "EXISTS!" if loner_exists(method, *args)

worker = PerformLater::Workers::Objects::LoneWorker
perform_later_enqueue(worker, queue, method, args)
perform_later_enqueue(worker, queue, method, *args)
end

private
def loner_exists(method, args)
digest = PerformLater::PayloadHelper.get_digest(self.name, method, args)
def loner_exists(method, *args)
digest = PerformLater::PayloadHelper.get_digest(self.name, method, *args)

return true unless Resque.redis.get(digest).blank?
Resque.redis.set(digest, 'EXISTS')
return false
end

def perform_later_enqueue(worker, queue, method, *args)
args = PerformLater::ArgsParser.args_to_resque(args)
args = PerformLater::ArgsParser.args_to_resque(*args)
Resque::Job.create(queue, worker, self.name, method, *args)
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/perform_later/workers/objects/worker.rb
Expand Up @@ -3,7 +3,7 @@ module Workers
module Objects
class Worker
def self.perform(klass_name, method, *args)
args = PerformLater::ArgsParser.args_from_resque(args)
args = PerformLater::ArgsParser.args_from_resque(*args)
klass_name.constantize.send(method, *args)
end
end
Expand Down
6 changes: 4 additions & 2 deletions spec/lib/perform_later/args_parser_spec.rb
Expand Up @@ -26,8 +26,10 @@
{ something: "eee" }
]
to_resque = subject.args_to_resque(arr).to_json
from_resque = subject.args_from_resque(JSON.parse(to_resque))

puts to_resque
a = JSON.parse(to_resque)
from_resque = subject.args_from_resque(a)

from_resque.should == arr
end

Expand Down
1 change: 0 additions & 1 deletion spec/lib/perform_later/payload_helper_spec.rb
Expand Up @@ -14,7 +14,6 @@
}.to_s)

args = PerformLater::ArgsParser.args_to_resque(user)
puts args
subject.get_digest("DummyClass", :some_method, args).should == digest
end
end
Expand Down
5 changes: 5 additions & 0 deletions spec/lib/perform_later/workers/active_record/worker_spec.rb
@@ -0,0 +1,5 @@
require 'spec_helper'

describe PerformLater::Workers::ActiveRecord::Worker do

end
15 changes: 15 additions & 0 deletions spec/lib/perform_later/workers/objects/worker_spec.rb
@@ -0,0 +1,15 @@
require 'spec_helper'

class DummyClass
def self.do_somthing_with_array_of_hashes(arr)
arr[0][:foo]
end
end

describe PerformLater::Workers::Objects::Worker do
subject { PerformLater::Workers::Objects::Worker }

it "should pass an array of hashes into the method" do

end
end

0 comments on commit 9d63160

Please sign in to comment.