class RubyCritic::AnalysisSummary
Attributes
analysed_modules[R]
modules[R]
Public Class Methods
generate(analysed_modules)
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 5 def self.generate(analysed_modules) new(analysed_modules).generate end
new(analysed_modules)
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 9 def initialize(analysed_modules) @analysed_modules = analysed_modules end
Public Instance Methods
generate()
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 13 def generate %w[A B C D F].each_with_object({}) do |rating, summary| summary[rating] = generate_for(rating) end end
Private Instance Methods
churns()
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 32 def churns modules.inject(0) { |acc, elem| acc + elem.churn } end
generate_for(rating)
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 23 def generate_for(rating) @modules = analysed_modules.for_rating(rating) { files: modules.count, churns: churns, smells: smells } end
smells()
click to toggle source
# File lib/rubycritic/analysis_summary.rb, line 36 def smells modules.inject(0) { |acc, elem| acc + elem.smells.count } end