Class: Assert::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/assert/config.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(settings = nil) ⇒ Config

Returns a new instance of Config.

[View source]

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 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

Class Method Details

.settings(*items) ⇒ Object

[View source]

11
12
13
14
15
16
17
18
19
20
# 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

Instance Method Details

#apply(settings) ⇒ Object

[View source]

59
60
61
62
63
64
65
66
# 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_seedObject

[View source]

82
83
84
# File 'lib/assert/config.rb', line 82

def env_runner_seed
  ENV["SEED"]
end

#random_runner_seedObject

[View source]

86
87
88
89
90
91
92
# File 'lib/assert/config.rb', line 86

def random_runner_seed
  @random_runner_seed ||=
    begin
      srand
      srand % 0xFFFF
    end
end

#single_test?Boolean

Returns:

  • (Boolean)
[View source]

68
69
70
# File 'lib/assert/config.rb', line 68

def single_test?
  !single_test.empty?
end

#single_test_file_lineObject

[View source]

72
73
74
75
76
# 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_pathObject

[View source]

78
79
80
# File 'lib/assert/config.rb', line 78

def single_test_file_path
  single_test_file_line&.file
end