module RSpecTracer::Configuration

Constants

DEFAULT_CACHE_DIR
DEFAULT_COVERAGE_DIR
DEFAULT_REPORT_DIR

Attributes

coverage_filters[W]
filters[W]

Public Instance Methods

add_coverage_filter(filter = nil, &block) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 88
def add_coverage_filter(filter = nil, &block)
  coverage_filters << parse_filter(filter, &block)
end
add_filter(filter = nil, &block) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 80
def add_filter(filter = nil, &block)
  filters << parse_filter(filter, &block)
end
cache_dir() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 27
def cache_dir
  @cache_dir ||= (ENV['RSPEC_TRACER_CACHE_DIR'] || DEFAULT_CACHE_DIR)
end
cache_path() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 31
def cache_path
  @cache_path ||= begin
    cache_path = File.expand_path(cache_dir, root)
    cache_path = File.join(cache_path, ENV['TEST_SUITE_ID'].to_s)

    FileUtils.mkdir_p(cache_path)

    cache_path
  end
end
configure(&block) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 100
def configure(&block)
  Docile.dsl_eval(self, &block)
end
coverage_dir() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 57
def coverage_dir
  @coverage_dir ||= (ENV['RSPEC_TRACER_COVERAGE_DIR'] || DEFAULT_COVERAGE_DIR)
end
coverage_filters() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 92
def coverage_filters
  @coverage_filters ||= []
end
coverage_path() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 61
def coverage_path
  @coverage_path ||= begin
    coverage_path = File.expand_path(coverage_dir, root)
    coverage_path = File.join(coverage_path, ENV['TEST_SUITE_ID'].to_s)

    FileUtils.mkdir_p(coverage_path)

    coverage_path
  end
end
coverage_track_files(glob) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 72
def coverage_track_files(glob)
  @coverage_track_files = glob
end
coverage_tracked_files() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 76
def coverage_tracked_files
  @coverage_track_files if defined?(@coverage_track_files)
end
filters() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 84
def filters
  @filters ||= []
end
project_name() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 23
def project_name
  @project_name ||= File.basename(root).capitalize
end
report_dir() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 42
def report_dir
  @report_dir ||= (ENV['RSPEC_TRACER_REPORT_DIR'] || DEFAULT_REPORT_DIR)
end
report_path() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 46
def report_path
  @report_path ||= begin
    report_path = File.expand_path(report_dir, root)
    report_path = File.join(report_path, ENV['TEST_SUITE_ID'].to_s)

    FileUtils.mkdir_p(report_path)

    report_path
  end
end
root(root = nil) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 13
def root(root = nil)
  return @root if defined?(@root) && root.nil?

  @cache_path = nil
  @report_path = nil
  @coverage_path = nil

  @root = File.expand_path(root || Dir.getwd)
end
verbose?() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 96
def verbose?
  @verbose ||= (ENV.fetch('RSPEC_TRACER_VERBOSE', 'false') == 'true')
end

Private Instance Methods

at_exit(&block) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 114
def at_exit(&block)
  return Proc.new unless RSpecTracer.running || block

  @at_exit = block if block
  @at_exit ||= proc { RSpecTracer.at_exit_behavior }
end
parse_filter(filter = nil, &block) click to toggle source
# File lib/rspec_tracer/configuration.rb, line 121
def parse_filter(filter = nil, &block)
  arg = filter || block

  raise ArgumentError, 'Either a filter or a block required' if arg.nil?

  RSpecTracer::Filter.register(arg)
end
test_suite_id() click to toggle source
# File lib/rspec_tracer/configuration.rb, line 106
def test_suite_id
  suite_id = ENV.fetch('TEST_SUITE_ID', '')

  return if suite_id.empty?

  suite_id
end