class Quality::Tools::Flog

Adds ‘flog’ tool support to quality gem

Public Class Methods

count_violations_in_flog_output(line, threshold = 50) click to toggle source
# File lib/quality/tools/flog.rb, line 14
def self.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

Public Instance Methods

quality_flog() click to toggle source
# File lib/quality/tools/flog.rb, line 7
def quality_flog
  args = "--all --continue --methods-only #{ruby_files.join(' ')}"
  ratchet_quality_cmd('flog', args: args, emacs_format: true) do |line|
    self.class.count_violations_in_flog_output(line)
  end
end