Class: Klenod::Test::ConfigBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ ConfigBuilder

Returns a new instance of ConfigBuilder.



36
37
38
# File 'lib/klenod/test/config.rb', line 36

def initialize(path)
  @path = File.expand_path(path)
end

Instance Method Details

#config ⇒ Object

Raises:



56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/klenod/test/config.rb', line 56

def config
  missing = []
  missing << "context" unless @context
  missing << "execute" unless @execute
  raise ConfigError, "#{@path}: missing #{missing.join(" and ")}" unless missing.empty?

  Config.new(
    base_dir: File.dirname(@path),
    context: @context,
    execute: @execute,
    format_error: @format_error,
    coverage: @coverage || CoverageConfig.build
  )
end

#context(&block) ⇒ Object



40
41
42
# File 'lib/klenod/test/config.rb', line 40

def context(&block)
  @context = block
end

#coverage(report: :brief, minimum: nil) ⇒ Object



52
53
54
# File 'lib/klenod/test/config.rb', line 52

def coverage(report: :brief, minimum: nil)
  @coverage = CoverageConfig.build(report:, minimum:)
end

#execute(&block) ⇒ Object



44
45
46
# File 'lib/klenod/test/config.rb', line 44

def execute(&block)
  @execute = block
end

#format_error(&block) ⇒ Object



48
49
50
# File 'lib/klenod/test/config.rb', line 48

def format_error(&block)
  @format_error = block
end