Sha256: 7b1ce3276bcd43f0dbd86e2cd4f53c4a61a4000875611881f9546a459358c431

Contents?: true

Size: 1.51 KB

Versions: 2

Compression:

Stored size: 1.51 KB

Contents

# XXX: I should figure out how to use tagged releases in github.  Example:
# https://github.com/xsc/lein-ancient/issues/29
# https://github.com/xsc/lein-ancient/releases

require 'source_finder/source_file_globber'

module Quality
  # Configuration for running quality tool
  class Config
    attr_accessor :skip_tools, :verbose, :quality_name, :ratchet_name,
                  :output_dir, :punchlist_regexp

    extend Forwardable

    def_delegators(:source_file_globber,
                   :ruby_dirs=, :ruby_dirs,
                   :source_dirs=, :source_dirs,
                   :extra_files=, :extra_files,
                   :exclude_files=, :exclude_files,
                   :extra_ruby_files=, :extra_ruby_files,
                   :ruby_file_extensions=, :ruby_file_extensions,
                   :source_file_extensions=, :source_file_extensions,
                   :source_files_glob,
                   :source_files_exclude_glob,
                   :ruby_files_glob,
                   :ruby_files)

    def source_file_globber
      @source_file_globber ||=
        SourceFinder::SourceFileGlobber.new(globber: @globber)
    end

    def all_output_files
      @globber.glob("#{output_dir}/*_high_water_mark")
    end

    def initialize(quality_name: 'quality',
                   ratchet_name: 'ratchet',
                   globber: fail)
      @quality_name = quality_name
      @ratchet_name = ratchet_name
      @skip_tools = []
      @output_dir = 'metrics'
      @verbose = false
      @globber = globber
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
quality-15.0.0 lib/quality/config.rb
quality-14.1.0 lib/quality/config.rb