Class: AudioFeedManager::ArgumentsParser

Inherits:
Object
  • Object
show all
Defined in:
lib/audio_feed_manager/cli/arguments_parser.rb

Instance Method Summary collapse

Instance Method Details

#parse(specification, arguments) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/audio_feed_manager/cli/arguments_parser.rb', line 3

def parse(specification, arguments)
  result = Arguments.new

  result, arguments = parse_required_arguments(result, arguments, specification)
  result, arguments = parse_optional_arguments(result, arguments, specification)
  result, arguments = parse_varargs(result, arguments, specification)

  if arguments.any?
    raise InvalidArguments, "Provided #{arguments.size} extra arguments!"
  end

  result
end