class DRbQS::Execution::ServerDefinition
Constants
- HELP_MESSAGE
Public Class Methods
new()
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 10 def initialize clear_definition end
Public Instance Methods
clear_definition()
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 60 def clear_definition @server_create = nil @option_parse = nil @opts = {} @argv = nil @default_server_opts = nil end
create_test_server(options)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 85 def create_test_server(options) require 'drbqs/server/test/server' options.delete(:not_exit) create_server(options, DRbQS::Test::Server) end
define_server(default_opts = {}, &block)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 14 def define_server(default_opts = {}, &block) @default_server_opts = default_opts if @server_create raise ArgumentError, "The server has already defined." end @server_create = block end
option_help_message()
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 49 def option_help_message if @option_parse create_parser do |opt| @option_parse.call(opt, @opts) return opt.to_s end else nil end end
option_parser(mes = nil, &block)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 22 def option_parser(mes = nil, &block) if @option_parse raise ArgumentError, "The options parser has already defined." end @option_message = mes @option_parse = block end
parse_option(opt_argv)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 39 def parse_option(opt_argv) if @option_parse create_parser do |opt| @option_parse.call(opt, @opts) opt.parse!(opt_argv) end end @argv = opt_argv end
start_server(options)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 76 def start_server(options) unless @server_create raise "Can not get server definition." end server = create_server(options) server.start server.wait end
Private Instance Methods
create_parser() { |opt| ... }
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 30 def create_parser(&block) mes = HELP_MESSAGE mes += @option_message.gsub(/(^\n+)|(\n+$)/, '') + "\n\n" if @option_message OptionParser.new(mes) do |opt| yield(opt) end end
create_server(options, klass = DRbQS::Server)
click to toggle source
# File lib/drbqs/execute/server_define.rb, line 68 def create_server(options, klass = DRbQS::Server) server = klass.new(@default_server_opts.merge(options)) @server_create.call(server, @argv, @opts) server.set_signal_trap server end