Sha256: c46c608a0f33f3e34e7ad204e4555e1e687af59fc14cb0065037b5fb6f61feae

Contents?: true

Size: 850 Bytes

Versions: 7

Compression:

Stored size: 850 Bytes

Contents

module RepoAnalyzer
  class RailsBestPracticesExtractor < ProjectInfoExtractor
    private

    def extracted_info
      analyzer.analyze
      { errors: errors }
    end

    def errors
      @errors ||= analyzer.errors.map do |error|
        next unless error.filename.include?(project_data_bridge.project_path)

        {
          file_path: get_file_path(error),
          message: error.message,
          type: error.type.gsub("RailsBestPractices::", ""),
          url: error.url
        }
      end.compact
    end

    def get_file_path(error)
      [
        error.filename.gsub(%r{\A\D*#{project_data_bridge.project_path}/}, ""),
        error.line_number
      ].reject(&:blank?).join(":")
    end

    def analyzer
      @analyzer ||= RailsBestPractices::Analyzer.new(
        project_data_bridge.project_path
      )
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
repo_analyzer-1.6.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.5.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.4.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.3.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.2.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.1.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb
repo_analyzer-1.0.0 app/extractors/repo_analyzer/rails_best_practices_extractor.rb