class Milc::Command

Attributes

logic[R]

Public Class Methods

new(logic) click to toggle source
# File lib/milc/command.rb, line 10
def initialize(logic)
  @logic = logic
end

Public Instance Methods

command_options() click to toggle source

overriden

# File lib/milc/command.rb, line 35
def command_options
  "nVc:" # n と V と c: は必須
end
load_options(options) click to toggle source
# File lib/milc/command.rb, line 45
def load_options(options)
  if options["c"]
    yaml_path = options["c"]
    logic.config = YAML.load_file_with_erb(yaml_path)
    logic.load_config
  else
    show_help_and_exit1
  end
  logic.load_options(options)
end
run(args) click to toggle source
# File lib/milc/command.rb, line 14
def run(args)
  setup(args)
  logic.process
  # exit 0
end
setup(args) click to toggle source
# File lib/milc/command.rb, line 20
def setup(args)
  # ARGV.getopts については以下を参照
  # http://d.hatena.ne.jp/zariganitosh/20140819/ruby_optparser_true_power
  # http://docs.ruby-lang.org/ja/2.1.0/method/OptionParser=3a=3aArguable/i/getopts.html
  args.extend(OptionParser::Arguable) unless args.is_a?(OptionParser::Arguable)
  options = args.getopts(command_options)
  show_help_and_exit1 unless args.empty?

  Milc.dry_run = !!options["n"]
  Milc.verbose = !!options["V"]

  load_options(options)
end
show_help_and_exit1() click to toggle source
# File lib/milc/command.rb, line 39
def show_help_and_exit1
  ## シェルスクリプトのUsage
  $stderr.puts logic.help_message
  exit 1
end