module Columnize

def columnize(*args)

def columnize(*args)
  return Columnize.columnize(*args) if args.length > 1
  opts = args.empty? ? {} : args.pop
  @columnize_opts ||= self.class.columnize_opts.dup
  @columnizer ||= Columnizer.new(self, @columnize_opts)
  # make sure that any changes to list or opts get passed to columnizer
  @columnizer.list = self unless @columnizer.list == self
  @columnizer.opts = @columnize_opts.merge(opts) unless @columnizer.opts == @columnize_opts and opts.empty?
  @columnizer.columnize
end