def parse_columnize_options(args)
list = args.shift
if 1 == args.size && args[0].kind_of?(Hash)
opts = DEFAULT_OPTS.merge(args[0])
if opts[:arrange_array]
opts[:array_prefix] = '['
opts[:lineprefix] = ' '
opts[:array_suffix] = "]\n"
opts[:colsep] = ', '
opts[:arrange_vertical] = false
end
opts[:ljust] = !(list.all?{|datum| datum.kind_of?(Numeric)}) if
opts[:ljust] == :auto
return list, opts
else
opts = DEFAULT_OPTS.dup
%w(displaywidth colsep arrange_vertical ljust lineprefix
).each do |field|
break if args.empty?
opts[field.to_sym] = args.shift
end
return list, opts
end
end