Module: Racecar

Defined in:
lib/racecar.rb,
lib/racecar/cli.rb,
lib/racecar/ctl.rb,
lib/racecar/config.rb,
lib/racecar/daemon.rb,
lib/racecar/runner.rb,
lib/racecar/version.rb,
lib/racecar/consumer.rb,
lib/racecar/rails_config_file_loader.rb,
lib/generators/racecar/install_generator.rb,
lib/generators/racecar/consumer_generator.rb

Defined Under Namespace

Modules: Generators, RailsConfigFileLoader Classes: Cli, Config, ConfigError, Consumer, Ctl, Daemon, Error, NullInstrumenter, Runner

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.configObject



21
22
23
# File 'lib/racecar.rb', line 21

def self.config
  @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/racecar.rb', line 25

def self.configure
  yield config
end

.instrumenterObject



37
38
39
40
41
42
43
44
45
# File 'lib/racecar.rb', line 37

def self.instrumenter
  require "active_support/notifications"

  ActiveSupport::Notifications
rescue LoadError
  logger.warn "ActiveSupport::Notifications not available, instrumentation is disabled"

  NullInstrumenter
end

.loggerObject



29
30
31
# File 'lib/racecar.rb', line 29

def self.logger
  config.logger
end

.logger=(logger) ⇒ Object



33
34
35
# File 'lib/racecar.rb', line 33

def self.logger=(logger)
  config.logger = logger
end

.run(processor) ⇒ Object



47
48
49
# File 'lib/racecar.rb', line 47

def self.run(processor)
  Runner.new(processor, config: config, logger: logger, instrumenter: instrumenter).run
end