module Hoss::Rails
Module for explicitly starting the Hoss
agent and hooking into Rails
. It is recommended to use the Railtie
instead.
Public Instance Methods
start(config)
click to toggle source
Start the Hoss
agent and hook into Rails
. Note that the agent won't be started if the Rails
console is being used.
@param config [Config, Hash] An instance of Config
or a Hash config. @return [true, nil] true if the agent was started, nil otherwise.
# File lib/hoss/rails.rb, line 32 def start(config) config = Config.new(config) unless config.is_a?(Config) if (reason = should_skip?(config)) unless config.disable_start_message? config.logger.info "Skipping because: #{reason}. " \ "Start manually with `Hoss.start'" end return end Hoss.start(config).tap do |agent| end Hoss.running? rescue StandardError => e if config.disable_start_message? config.logger.error format('Failed to start: %s', e.message) config.logger.debug "Backtrace:\n" + e.backtrace.join("\n") else puts format('Failed to start: %s', e.message) puts "Backtrace:\n" + e.backtrace.join("\n") end end
Private Instance Methods
should_skip?(_config)
click to toggle source
# File lib/hoss/rails.rb, line 60 def should_skip?(_config) if ::Rails.const_defined?('Console', false) return 'Rails console' end nil end