Sha256: 2a4cf8d44cbca4127a2b9d46c9fb5861dee5fb06b0fa18a017ea9df2d1d24eee
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
require 'drbqs/execute/process_define' module DRbQS class Setting class Execute < DRbQS::Setting::Base attr_accessor :server_argument def initialize super(:all_keys_defined => true) do [:port, :server, :node].each do |key| register_key(key, :check => 1) end [:no_server, :no_node, :information, :help].each do |key| register_key(key, :bool => true) end set_argument_condition(:<=, 1) end @server_argument = [] end # If there are invalid arguments, # this method raises an error. def parse! super @port = get_first(:port) do |val| val.to_i end @no_server = get_first(:no_server) @server = get_first(:server) do |val| val.intern end @no_node = get_first(:no_node) @node = get_first(:node) do |val| val.split(',').map do |s| s.intern end end @definition = get_argument[0] if get_first(:help) @mode = :help elsif get_first(:information) @mode = :information else @mode = nil end if !@output_help && !@definition raise DRbQS::Setting::InvalidArgument, "Definition file must be specified." end end def exec(io = nil) process_def = DRbQS::ProcessDefinition.new(@server, @node, @port, io) process_def.load(@definition) if @definition case @mode when :help io.puts process_def.usage if io when :information io.puts process_def.information_string if io else unless @no_server process_def.execute_server(@server_argument) end unless @no_node process_def.execute_node end end true end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
drbqs-0.0.15 | lib/drbqs/setting/execute.rb |