Sha256: 5c3aebcadc074405e8735639ca9e3522c52c81293e76d97ec1774fbc0d8b2226
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
require 'rubycritic/analysers/helpers/reek' require 'rubycritic/core/smell' require 'rubycritic/colorize' module Rubycritic module Analyser class ReekSmells include Colorize def initialize(analysed_modules) @analysed_modules = analysed_modules end def run @analysed_modules.each do |analysed_module| add_smells_to(analysed_module) print green '.' end puts '' end def to_s 'reek smells' end private def add_smells_to(analysed_module) Reek.new(analysed_module.pathname).smells.each do |smell| analysed_module.smells << create_smell(smell) end end def create_smell(smell) Smell.new( locations: smell_locations(smell.source, smell.lines), context: smell.context, message: smell.message, type: smell.smell_type, analyser: 'reek', cost: 0 ) end def smell_locations(file_path, file_lines) file_lines.uniq.map do |file_line| Location.new(file_path, file_line) end.sort end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubycritic-2.9.2 | lib/rubycritic/analysers/smells/reek.rb |
rubycritic-2.9.1 | lib/rubycritic/analysers/smells/reek.rb |
rubycritic-2.9.0 | lib/rubycritic/analysers/smells/reek.rb |