module Anvil::Task::Options

Cli options parsing definition

Attributes

parser_block[R]

Public Instance Methods

build_parser(&block) click to toggle source
# File lib/anvil/task/options.rb, line 20
def build_parser(&block)
  parser = Anvil::Parser.new
  parser.task = self
  configure_parser(parser, &block)
  parser
end
configure_parser(parser, &block) click to toggle source
# File lib/anvil/task/options.rb, line 27
def configure_parser(parser, &block)
  block ||= proc {}

  if description
    parser.separator ''
    parser.separator description
  end

  return parser unless parser.detect_options(&block)

  parser.separator ''
  parser.separator 'Available options: '
  parser.instance_eval(&block)
  parser
end
help() click to toggle source
# File lib/anvil/task/options.rb, line 11
def help
  parser.help
end
parse_options!(arguments) click to toggle source
# File lib/anvil/task/options.rb, line 43
def parse_options!(arguments)
  parser.parse!(arguments)
  arguments << parser.options
end
parser(&block) click to toggle source
# File lib/anvil/task/options.rb, line 15
def parser(&block)
  @parser_block = block
  @parser ||= build_parser(&block)
end