class RubyCritic::AnalysisSummary
def self.generate(analysed_modules)
def self.generate(analysed_modules) new(analysed_modules).generate end
def churns
def churns modules.inject(0) { |acc, elem| acc + elem.churn } end
def generate
def generate %w[A B C D F].each_with_object({}) do |rating, summary| summary[rating] = generate_for(rating) end end
def generate_for(rating)
def generate_for(rating) @modules = analysed_modules.for_rating(rating) { files: modules.count, churns: churns, smells: smells } end
def initialize(analysed_modules)
def initialize(analysed_modules) @analysed_modules = analysed_modules end
def smells
def smells modules.inject(0) { |acc, elem| acc + elem.smells.count } end