module Servitude::Server
Public Class Methods
included( base )
click to toggle source
# File lib/servitude/server.rb, line 7 def self.included( base ) base.class_eval do include ConfigHelper include Logging include ServerLogging include Hooks define_hook :after_initialize, :before_initialize, :before_run, :before_sleep, :finalize attr_reader :cli_options end end
new( cli_options={} )
click to toggle source
# File lib/servitude/server.rb, line 24 def initialize( cli_options={} ) unless host_namespace.boot_called raise 'You must call boot before starting server' end @cli_options = cli_options run_hook :before_initialize initialize_loggers run_hook :after_initialize end
Public Instance Methods
start()
click to toggle source
# File lib/servitude/server.rb, line 36 def start log_startup setup_signal_handling run_sequence sleep_sequence end
Protected Instance Methods
host_namespace()
click to toggle source
# File lib/servitude/server.rb, line 64 def host_namespace raise NotImplementedError end
run()
click to toggle source
# File lib/servitude/server.rb, line 45 def run raise NotImplementedError end
run_sequence()
click to toggle source
# File lib/servitude/server.rb, line 49 def run_sequence run_hook :before_run run end
setup_signal_handling()
click to toggle source
# File lib/servitude/server.rb, line 59 def setup_signal_handling trap( INT ) { stop } trap( TERM ) { stop } end
sleep_sequence()
click to toggle source
# File lib/servitude/server.rb, line 54 def sleep_sequence run_hook :before_sleep sleep end
Private Instance Methods
finalize()
click to toggle source
# File lib/servitude/server.rb, line 70 def finalize run_hook :finalize end
stop()
click to toggle source
# File lib/servitude/server.rb, line 74 def stop Thread.new { finalize; exit }.join end