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.



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    = begin; srand; srand % 0xFFFF; end.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

  self.apply(settings || {})
end

Class Method Details

.settings(*items) ⇒ Object



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|
      if !(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



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? && self.respond_to?(name.to_s)
      self.send(name.to_s, settings[name])
    end
  end
  @single_test_file_line = nil
end

#single_test?Boolean

Returns:

  • (Boolean)


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

def single_test?
  !self.single_test.empty?
end

#single_test_file_lineObject



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(self.single_test, Dir.pwd)
  )
end

#single_test_file_pathObject



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

def single_test_file_path
  self.single_test_file_line.file if self.single_test_file_line
end