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