class AudioFeedManager::ArgumentsSpecification
Constants
- Argument
- Varargs
Public Class Methods
no_arguments()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 37 def self.no_arguments new end
specify() { |specification| ... }
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 41 def self.specify specification = no_arguments yield specification specification end
Public Instance Methods
argument(name, required: false, description: "", default: nil)
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 50 def argument(name, required: false, description: "", default: nil) arguments << Argument.new(name, required, description, default) end
arguments()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 74 def arguments @arguments ||= [] end
has_arguments?()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 82 def has_arguments? !arguments.empty? end
minimum_varags_count()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 58 def minimum_varags_count varargs_arguments.map(&:minimum).reduce(0, :+) end
optional_arguments()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 66 def optional_arguments arguments.select(&:optional) end
required_arguments()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 62 def required_arguments arguments.select(&:required) end
usage_line()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 78 def usage_line name + required_arguments_line + optional_arguments_line + varargs_line end
varargs(name, minimum: 1, description: "")
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 54 def varargs(name, minimum: 1, description: "") arguments << Varargs.new(name, minimum, description) end
varargs_arguments()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 70 def varargs_arguments arguments.select(&:varargs) end
Private Instance Methods
optional_arguments_line()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 93 def optional_arguments_line return "" if optional_arguments.empty? " " + optional_arguments.map(&:usage_name).map{|s| "[#{s}]"}.join(" ") end
required_arguments_line()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 88 def required_arguments_line return "" if required_arguments.empty? " " + required_arguments.map(&:usage_name).map{|s| "<#{s}>"}.join(" ") end
varargs_line()
click to toggle source
# File lib/audio_feed_manager/cli/arguments_specification.rb, line 98 def varargs_line return "" if varargs_arguments.empty? " " + varargs_arguments.map(&:usage_name).map{|s| "[#{s}]"}.join(" ") end