Sha256: 7f430b4b0bab65da63bfe806e238e18b5f220b74203e490ce44f50bcf903eb2e

Contents?: true

Size: 758 Bytes

Versions: 2

Compression:

Stored size: 758 Bytes

Contents

module TheMetricSystem::UnitsOfMeasure
  class FlayUnits

    def self.reasonable_defaults
      { :threshold => 70, :directories => Dir["app/**/*.rb", "lib/**/*.rb"] }
    end

    def self.report_to_standards_body(options={})
      options.merge!(reasonable_defaults)

      # Don't like this, but still getting used to this whole, don't require rubygems in classes thing
      # Will refactor soon
      require 'flay'
      flay = Flay.new(:fuzzy => false, :diff => true, :summary => false, :verbose => false, :mass => options[:threshold])
      flay.process(*options[:directories])
      flay.report

      raise "Flay found #{flay.masses.size} chunks of code have a duplicate mass > #{options[:threshold]}" unless flay.masses.empty?
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spicycode-the_metric_system-2.3.4 lib/the_metric_system/units_of_measure/flay_units.rb
spicycode-the_metric_system-2.3.5 lib/the_metric_system/units_of_measure/flay_units.rb