def analyze(files)
      report    = Report.new(configuration.report_levels)
      presenter = configuration.presenter.new
      parser    = Parser.new

      parser.consumer = proc do |diag|
        report_diagnostic(diag, report)
      end

      files.each do |file|
        analyze_file(file, parser, report)
      end

      return presenter.present(report)
    end
def analyze(files)
      report    = Report.new(configuration.report_levels)
      presenter = configuration.presenter.new
      parser    = Parser.new

      parser.consumer = proc do |diag|
        report_diagnostic(diag, report)
      end

      files.each do |file|
        analyze_file(file, parser, report)
      end

      return presenter.present(report)
    end
@param [RubyLint::Configuration] configuration


 Analyses the given files and returns the report results.

 @param [Array] files
 @return [String]