Sha256: 260f1a359c448a4bd4ce8260cc3456d19d9ff729cfedb3508e4d4297ce166633
Contents?: true
Size: 2 KB
Versions: 3
Compression:
Stored size: 2 KB
Contents
module DRbQS class ServerDefinition HELP_MESSAGE =<<HELP [Server specific options] These options are separated by '--' from command options. HELP def initialize @server_create = nil @option_parse = nil @opts = {} @argv = nil @default_server_opts = nil end 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 def option_parser(&block) if @option_parse raise ArgumentError, "The options parser has already defined." end @option_parse = block end def parse_option(opt_argv) if @option_parse OptionParser.new(HELP_MESSAGE) do |opt| @option_parse.call(opt, @opts) opt.parse!(opt_argv) end end @argv = opt_argv end def create_server(options) server = DRbQS::Server.new(@default_server_opts.merge(options)) @server_create.call(server, @argv, @opts) server.set_signal_trap server end private :create_server def start_server(options) unless @server_create raise "Can not get server definition." end server = create_server(options) server.start server.wait end def test_server(options, type, arg = [], test_opts = {}) server = create_server(options) case type when :task puts "*** Test of Task Generators ***" server.test_task_generator(:limit => arg[0] ? arg[0].to_i : nil, :progress => true) when :exec server.test_exec(:limit => arg[0] ? arg[0].to_i : nil, :profile => test_opts[:profile]) else puts "*** Not be yet implemented ***" end end end @@server_def = ServerDefinition.new class << self [:define_server, :option_parser, :parse_option, :start_server, :test_server].each do |m| define_method(m, &@@server_def.method(m)) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
drbqs-0.0.13 | lib/drbqs/server_define.rb |
drbqs-0.0.12 | lib/drbqs/server_define.rb |
drbqs-0.0.11 | lib/drbqs/server_define.rb |