class FlogCLI

def self.run args = ARGV, extra = {}

def self.run args = ARGV, extra = {}
  load_plugins
  expander = PathExpander.new args, "**/*.{rb,rake}"
  files = expander.process
  options = parse_options args, extra
  abort "no files or stdin (-) to process, aborting." if
    files.empty? and args.empty?
  flogger = new options
  flogger.flog(*files)
  flogger.report
end