class DaimonSkycrawlers::Consumer::HTTPResponse

HTTP response consumer class

Public Class Methods

default_processor() click to toggle source

@private

# File lib/daimon_skycrawlers/consumer/http_response.rb, line 47
def default_processor
  DaimonSkycrawlers::Processor::Default.new
end
processors() click to toggle source

@private

# File lib/daimon_skycrawlers/consumer/http_response.rb, line 40
def processors
  @processors ||= []
end
queue_name() click to toggle source

@private

# File lib/daimon_skycrawlers/consumer/http_response.rb, line 54
def queue_name
  "#{DaimonSkycrawlers.configuration.queue_name_prefix}.http-response"
end
register(processor = nil, &block) click to toggle source

Register a processor

@overload register(processor)

@param processor [Processor] processor instance which implements `call` method
@return [void]

@overload register

@return [void]
@yield [message] register given block as a processor
@yieldparam message [Hash] A message from queue
@yieldreturn [void]
# File lib/daimon_skycrawlers/consumer/http_response.rb, line 29
def register(processor = nil, &block)
  if block_given?
    processors << DaimonSkycrawlers::Processor::Proc.new(block)
  else
    processors << processor
  end
end

Public Instance Methods

process(message) click to toggle source

@private

# File lib/daimon_skycrawlers/consumer/http_response.rb, line 64
def process(message)
  if self.class.processors.empty?
    processors = [self.class.default_processor]
  else
    processors = self.class.processors
  end
  processors.each do |processor|
    processor.process(message)
  end
end