Class: Gistory::Cli::ArgParser

Inherits:
Object
  • Object
show all
Defined in:
lib/gistory/cli/arg_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(args:, io: Gistory::Cli::Io.new) ⇒ ArgParser

Returns a new instance of ArgParser.



8
9
10
11
12
13
# File 'lib/gistory/cli/arg_parser.rb', line 8

def initialize(args:, io: Gistory::Cli::Io.new)
  @args = args
  @config = Gistory.config
  @parser = create_parser(@config)
  @io = io
end

Instance Method Details

#parseObject



15
16
17
18
19
20
21
22
23
# File 'lib/gistory/cli/arg_parser.rb', line 15

def parse
  @parser.parse!(@args)

  parse_gem_name
  @io.error("extra parameters ignored: #{@args}") unless @args.count.zero?
  @config
rescue OptionParser::InvalidOption => e
  raise(Gistory::ParserError, e.message)
end

#to_sObject



25
26
27
# File 'lib/gistory/cli/arg_parser.rb', line 25

def to_s
  @parser.to_s
end