class Thor::Arguments
def self.split(args)
and one with switches.
Receives an array of args and returns two arrays, one with arguments
def self.split(args) arguments = [] args.each do |item| break if item.is_a?(String) && item =~ /^-/ arguments << item end [arguments, args[Range.new(arguments.size, -1)]] end