class Assert::Config

Public Class Methods

new(settings = nil) click to toggle source
# File lib/assert/config.rb, line 29
def initialize(settings = nil)
  @view   = Assert::DefaultView.new(self, $stdout)
  @suite  = Assert::DefaultSuite.new(self)
  @runner = Assert::DefaultRunner.new(self)

  @test_dir    = "test"
  @test_helper = "helper.rb"
  @test_file_suffixes = ["_tests.rb", "_test.rb"]

  @changed_proc  = Assert::U.git_changed_proc
  @pp_proc       = Assert::U.stdlib_pp_proc
  @use_diff_proc = Assert::U.default_use_diff_proc
  @run_diff_proc = Assert::U.syscmd_diff_proc

  # option settings
  @runner_seed    = (env_runner_seed || random_runner_seed).to_i
  @changed_only   = false
  @changed_ref    = ""
  @single_test    = ""
  @pp_objects     = false
  @capture_output = false
  @halt_on_fail   = true
  @profile        = false
  @verbose        = false
  @list           = false
  @debug          = false

  apply(settings || {})
end
settings(*items) click to toggle source
# File lib/assert/config.rb, line 11
def self.settings(*items)
  items.each do |item|
    define_method(item) do |*args|
      unless (value = args.size > 1 ? args : args.first).nil?
        instance_variable_set("@#{item}", value)
      end
      instance_variable_get("@#{item}")
    end
  end
end

Public Instance Methods

apply(settings) click to toggle source
# File lib/assert/config.rb, line 59
def apply(settings)
  settings.keys.each do |name|
    if !settings[name].nil? && respond_to?(name.to_s)
      send(name.to_s, settings[name])
    end
  end
  @single_test_file_line = nil
end
env_runner_seed() click to toggle source
# File lib/assert/config.rb, line 82
def env_runner_seed
  ENV["SEED"]
end
random_runner_seed() click to toggle source
# File lib/assert/config.rb, line 86
def random_runner_seed
  @random_runner_seed ||=
    begin
      srand
      srand % 0xFFFF
    end
end
single_test?() click to toggle source
# File lib/assert/config.rb, line 68
def single_test?
  !single_test.empty?
end
single_test_file_line() click to toggle source
# File lib/assert/config.rb, line 72
def single_test_file_line
  @single_test_file_line ||= Assert::FileLine.parse(
    File.expand_path(single_test, Dir.pwd),
  )
end
single_test_file_path() click to toggle source
# File lib/assert/config.rb, line 78
def single_test_file_path
  single_test_file_line&.file
end