class HDOC::CLI

Provides the CLI interface for interact with the program.

Constants

AVAILABLE_COMMANDS

Attributes

options[R]

Public Class Methods

new(option_parser = OptionParser) click to toggle source
# File lib/1hdoc/cli.rb, line 15
def initialize(option_parser = OptionParser)
  @option_parser = option_parser
  check_for_configuration
end

Public Instance Methods

run() click to toggle source
# File lib/1hdoc/cli.rb, line 20
def run
  start_option_parser
rescue @option_parser::ParseError
  $stderr.puts options
end

Private Instance Methods

check_for_configuration() click to toggle source
# File lib/1hdoc/cli.rb, line 28
def check_for_configuration
  unless File.exist? ENVIRONMENT[:configuration_file]
    $stderr.puts 'Seems like it is the first time you use 1hdoc..'
    init
  end
end
initialize_options() click to toggle source
# File lib/1hdoc/cli.rb, line 44
def initialize_options
  AVAILABLE_COMMANDS.each do |command|
    # Retrieve method's name deleting double dashes from command.
    target_method = command[1].gsub('--', '')
    options.on(*command) { send(target_method) }
  end
end
start_option_parser() click to toggle source
# File lib/1hdoc/cli.rb, line 35
def start_option_parser
  @option_parser.new do |opts|
    opts.banner = 'Usage: 1hdoc [options]'

    @options = opts
    initialize_options
  end.parse!
end