module RabbitFeed::ConsoleConsumer

Constants

APPLICATION_NAME

Public Instance Methods

event_count_message() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 20
def event_count_message
  "#{@event_count} events received."
end
formatted(event) click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 16
def formatted(event)
  Formatter.new(event).to_s
end
increment_event_count() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 24
def increment_event_count
  @event_count += 1
end
init() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 7
def init
  @event_count = 0
  set_application
  route_all_events
  puts welcome_message
  ask_to_purge_queue unless queue_empty?
  puts 'Ready. Press CTRL+C to exit.'
end

Private Instance Methods

ask_to_purge_queue() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 40
def ask_to_purge_queue
  puts "There are currently #{ConsumerConnection.instance.queue_depth} message(s) in the console's queue.\n"\
       'Would you like to purge the queue before proceeding? (y/N)>'
  response = STDIN.gets.chomp
  purge_queue if response == 'y'
end
purge_queue() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 47
def purge_queue
  ConsumerConnection.instance.purge_queue
  puts 'Queue purged.'
end
queue_empty?() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 36
def queue_empty?
  ConsumerConnection.instance.queue_depth.zero?
end
route_all_events() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 52
def route_all_events
  scope = self
  EventRouting do
    accept_from(:any) do
      event(:any) do |event|
        scope.increment_event_count
        puts scope.formatted(event)
        puts scope.event_count_message
      end
    end
  end
end
set_application() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 65
def set_application
  RabbitFeed.application = APPLICATION_NAME
end
welcome_message() click to toggle source
# File lib/rabbit_feed/console_consumer.rb, line 30
def welcome_message
  "RabbitFeed console starting at #{Time.now.utc}...\n"\
  "Environment: #{RabbitFeed.environment}\n"\
  "Queue: #{RabbitFeed.configuration.queue}"
end