module Travis::CLI

def preparse(unparsed, args = [], opts = {})

can't use flatten as it will flatten hashes
def preparse(unparsed, args = [], opts = {})
  case unparsed
  when Hash  then opts.merge! unparsed
  when Array then unparsed.each { |e| preparse(e, args, opts) }
  else args << unparsed.to_s
  end
  [args, opts]
end