class Quality::Tools::Cane

Adds 'cane' tool support to quality gem

Public Instance Methods

cane_args() click to toggle source
# File lib/quality/tools/cane.rb, line 19
def cane_args
  args = [
    "-f '#{ruby_files_glob}'",
  ]
  args += cane_exclude_args unless exclude_files.nil? || exclude_files.empty?
  args.join(' ')
end
cane_exclude_args() click to toggle source
# File lib/quality/tools/cane.rb, line 7
def cane_exclude_args
  [
    "--abc-exclude '#{source_files_exclude_glob}'",
    "--style-exclude '#{source_files_exclude_glob}'",
    "--doc-exclude '#{source_files_exclude_glob}'",
  ]
end
quality_cane() click to toggle source
# File lib/quality/tools/cane.rb, line 27
def quality_cane
  ratchet_quality_cmd('cane', gives_error_code_on_violations: true,
                              args: cane_args,
                              emacs_format: true) do |line|
    if line =~ /\(([0-9]*)\):$/
      Regexp.last_match[1].to_i
    else
      0
    end
  end
end
ruby_files_glob() click to toggle source
# File lib/quality/tools/cane.rb, line 15
def ruby_files_glob
  "{#{ruby_files.join(',')}}"
end