class Thor::Arguments
Constants
- NUMERIC
Public Class Methods
new(arguments = [])
click to toggle source
Takes an array of Thor::Argument
objects.
# File lib/thor/parser/arguments.rb, line 30 def initialize(arguments = []) @assigns = {} @non_assigned_required = [] @switches = arguments arguments.each do |argument| if !argument.default.nil? @assigns[argument.human_name] = argument.default elsif argument.required? @non_assigned_required << argument end end end
parse(*args)
click to toggle source
# File lib/thor/parser/arguments.rb, line 23 def self.parse(*args) to_parse = args.pop new(*args).parse(to_parse) end
split(args)
click to toggle source
Receives an array of args and returns two arrays, one with arguments and one with switches.
# File lib/thor/parser/arguments.rb, line 12 def self.split(args) arguments = [] args.each do |item| break if item =~ /^-/ arguments << item end [arguments, args[Range.new(arguments.size, -1)]] end
Public Instance Methods
parse(args)
click to toggle source
# File lib/thor/parser/arguments.rb, line 45 def parse args logger.debug __method__.to_s, args: args @pile = args.dup @switches.each do |argument| break unless peek @non_assigned_required.delete(argument) @assigns[argument.human_name] = send :"parse_#{argument.type}", argument.human_name end check_requirement! @assigns end
remaining()
click to toggle source
# File lib/thor/parser/arguments.rb, line 63 def remaining @pile end