Sha256: a47a856e411b15b132c9fb22f9ce26ccfe349dec4c1020b3bbb44d1f8c493796

Contents?: true

Size: 812 Bytes

Versions: 23

Compression:

Stored size: 812 Bytes

Contents

module Quality
  module Tools
    # Adds 'flog' tool support to quality gem
    module Flog
      private

      def quality_flog
        args = "--all --continue --methods-only #{ruby_files}"
        ratchet_quality_cmd('flog', args: args, emacs_format: true) do |line|
          self.class.count_violations_in_flog_output(line)
        end
      end

      def self.included(base)
        base.extend ClassMethods
      end

      # See Flog.included
      module ClassMethods
        def count_violations_in_flog_output(line, threshold = 50)
          return 0 if line =~ /^ *([0-9.]*): flog total$/

          return 0 unless line =~ /^ *([0-9.]*): (.*) .*.rb:[0-9]*$/

          score = Regexp.last_match[1].to_i

          return 1 if score > threshold

          0
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
quality-14.0.0 lib/quality/tools/flog.rb
quality-13.0.0 lib/quality/tools/flog.rb
quality-12.0.0 lib/quality/tools/flog.rb
quality-11.0.0 lib/quality/tools/flog.rb
quality-10.0.0 lib/quality/tools/flog.rb
quality-9.0.0 lib/quality/tools/flog.rb
quality-8.1.1 lib/quality/tools/flog.rb
quality-8.1.0 lib/quality/tools/flog.rb
quality-8.0.0 lib/quality/tools/flog.rb
quality-7.0.0 lib/quality/tools/flog.rb
quality-6.0.0 lib/quality/tools/flog.rb
quality-5.0.1 lib/quality/tools/flog.rb
quality-5.0.0 lib/quality/tools/flog.rb
quality-4.0.2 lib/quality/tools/flog.rb
quality-4.0.1 lib/quality/tools/flog.rb
quality-4.0.0 lib/quality/tools/flog.rb
quality-3.1.0 lib/quality/tools/flog.rb
quality-3.0.0 lib/quality/tools/flog.rb
quality-2.1.1 lib/quality/tools/flog.rb
quality-2.1.0 lib/quality/tools/flog.rb