Sha256: 4e2b29056c3f9f08454880122e72206eed8b13aa64cbaaef0e569b2d8a5e32b8

Contents?: true

Size: 807 Bytes

Versions: 2

Compression:

Stored size: 807 Bytes

Contents

require "rubycritic/core/analysed_file"

module Rubycritic

  class AnalysedFilesBuilder
    def initialize(pathnames, smells, churn, complexity)
      @pathnames = pathnames
      @smells = smells
      @churn = churn
      @complexity = complexity
    end

    def analysed_files
      @pathnames.zip(@churn, @complexity).map do |file_attributes|
        pathname = file_attributes[0]
        AnalysedFile.new(
          :smells => file_smells(pathname),
          :pathname => pathname,
          :churn => file_attributes[1],
          :complexity => file_attributes[2]
        )
      end
    end

    private

    def file_smells(pathname)
      file_smells = []
      @smells.each do |smell|
        file_smells << smell if smell.at_pathname?(pathname)
      end
      file_smells
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubycritic-0.0.14 lib/rubycritic/analysed_files_builder.rb
rubycritic-0.0.13 lib/rubycritic/analysed_files_builder.rb