Sha256: 648fad5e3e60e8613361fcfa49b1fc2214a6f0797fc7046cb86e1c9f4364b85a

Contents?: true

Size: 894 Bytes

Versions: 6

Compression:

Stored size: 894 Bytes

Contents

module Quality
  module Tools
    # Adds 'cane' tool support to quality gem
    module Cane
      private

      def cane_exclude_args
        [
          "--abc-exclude '#{source_files_exclude_glob}'",
          "--style-exclude '#{source_files_exclude_glob}'",
          "--doc-exclude '#{source_files_exclude_glob}'",
        ]
      end

      def cane_args
        args = [
          "-f '#{ruby_files_glob}'",
        ]
        args += cane_exclude_args if !exclude_files.empty?
        args.join(' ')
      end

      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
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
quality-21.0.4 lib/quality/tools/cane.rb
quality-21.0.3 lib/quality/tools/cane.rb
quality-21.0.2 lib/quality/tools/cane.rb
quality-21.0.1 lib/quality/tools/cane.rb
quality-20.1.1 lib/quality/tools/cane.rb
quality-21.0.0 lib/quality/tools/cane.rb