Class: Message::Job

Inherits:
Object
  • Object
show all
Defined in:
lib/message/job.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue, &processor) ⇒ Job

Returns a new instance of Job.



19
20
21
22
# File 'lib/message/job.rb', line 19

def initialize(queue, &processor)
  @queue = queue
  @processor = processor || lambda {|msg| msg}
end

Class Method Details

.filter(type, name, &block) ⇒ Object



10
11
12
# File 'lib/message/job.rb', line 10

def filter(type, name, &block)
  filters[type] << [name, block]
end

.filtersObject



6
7
8
# File 'lib/message/job.rb', line 6

def filters
  @filters ||= Filters.new
end

.resetObject



14
15
16
# File 'lib/message/job.rb', line 14

def reset
  @filters = nil
end

Instance Method Details

#enq(msg) ⇒ Object Also known as: <<



32
33
34
# File 'lib/message/job.rb', line 32

def enq(msg)
  chain(:enq, @queue.method(:enq)).call(msg)
end

#nameObject



24
25
26
# File 'lib/message/job.rb', line 24

def name
  @queue.name
end

#process(size = 1) ⇒ Object



37
38
39
# File 'lib/message/job.rb', line 37

def process(size=1)
  chain(:process, @queue.method(:deq)).call(size, &@processor)
end

#sizeObject



28
29
30
# File 'lib/message/job.rb', line 28

def size
  @queue.size
end