Module: ResqueUnitWithoutMock::Scheduler::ClassMethods

Defined in:
lib/resque_unit_without_mock/scheduler.rb

Instance Method Summary collapse

Instance Method Details

#enqueue_at(timestamp, klass, *args) ⇒ Object

resque_unit前提で書かれた既存テストではResque.enqueue_atするとすぐにエンキューしながら、 タイムスタンプを確認している. 実物Redisを使うにあたって同じ振る舞いにしたいのでクラス変数を使ってresque_unitと同じことを実現する.



10
11
12
13
14
# File 'lib/resque_unit_without_mock/scheduler.rb', line 10

def enqueue_at(timestamp, klass, *args)
  enqueue_at_with_queue(
    queue_for(klass), timestamp, klass, *args
  )
end

#enqueue_at_with_queue(queue, timestamp, klass, *args) ⇒ Object



16
17
18
19
20
21
# File 'lib/resque_unit_without_mock/scheduler.rb', line 16

def enqueue_at_with_queue(queue, timestamp, klass, *args)
  @@enqueue_ats ||= {}
  @@enqueue_ats[queue] ||= []
  @@enqueue_ats[queue] << { timestamp: timestamp, klass: klass, args: args }
  Resque.enqueue_to(queue, klass, *args)
end

#enqueue_ats(queue) ⇒ Object



23
24
25
26
# File 'lib/resque_unit_without_mock/scheduler.rb', line 23

def enqueue_ats(queue)
  @@enqueue_ats ||= {}
  @@enqueue_ats[queue] || []
end

#reset!Object



28
29
30
# File 'lib/resque_unit_without_mock/scheduler.rb', line 28

def reset!
  @@enqueue_ats = {}
end