Sha256: e07dd512ca9b696323bddc0d7155341199c247c6af7d6579e2290383ee8914c7

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

#!/usr/bin/env ruby

require "optparse"
require "racecar"

parser = OptionParser.new do |opts|
  opts.banner = "Usage: racecar MyConsumer [options]"

  opts.on("-r", "--require LIBRARY", "Require the LIBRARY before starting the consumer") do |lib|
    require lib
  end

  opts.on_tail("--version", "Show Racecar version") do
    require "racecar/version"
    puts "Racecar #{Racecar::VERSION}"
    exit
  end
end

parser.parse!(ARGV)

consumer_name = ARGV.first or raise "No consumer specified"
config_file = "config/racecar.yml"

puts "=> Starting Racecar consumer #{consumer_name}..."

puts "=> Booting Rails application..."

require "./config/environment"

Racecar.config.load_file(config_file, Rails.env)

if Racecar.config.log_to_stdout
  # Write to STDOUT as well as to the log file.
  console = ActiveSupport::Logger.new($stdout)
  console.formatter = Rails.logger.formatter
  console.level = Rails.logger.level
  Rails.logger.extend(ActiveSupport::Logger.broadcast(console))
end

Racecar.logger = Rails.logger

# Find the consumer class by name.
consumer_class = Kernel.const_get(consumer_name)

# Load config defined by the consumer class itself.
Racecar.config.load_consumer_class(consumer_class)

Racecar.config.validate!

puts "=> Wrooooom!"
puts "=> Ctrl-C to shutdown consumer"

processor = consumer_class.new

Racecar.run(processor)

puts "=> Shut down"

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
racecar-0.1.3 exe/racecar
racecar-0.1.2 exe/racecar