Method: Sunshine.setup
- Defined in:
- lib/sunshine.rb
.setup(new_config = {}, reset = false) ⇒ Object
Setup Sunshine with a custom config:
Sunshine.setup 'level' => 'debug', 'deploy_env' => :production
308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 |
# File 'lib/sunshine.rb', line 308 def self.setup new_config={}, reset=false @config = DEFAULT_CONFIG.dup if reset TrapStack.trap_signal :INT do |msg| $stderr << "\n\n" logger.indent = 0 logger.fatal :INT, "Caught INT signal!" logger.info :INT, msg end TrapStack.add_trap "Disconnecting all remote shells." do RemoteShell.disconnect_all end require_libs(*new_config['require']) config.merge! new_config log_level = Logger.const_get config['level'].upcase rescue Logger::INFO @logger = Sunshine::Output.new :level => log_level config end |