Class: Mutant::Meta::Example::DSL

Inherits:
Object
  • Object
show all
Includes:
AST::Sexp
Defined in:
lib/mutant/meta/example/dsl.rb

Overview

Example DSL

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ undefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize DSL context



27
28
29
30
31
# File 'lib/mutant/meta/example/dsl.rb', line 27

def initialize(file)
  @file = file
  @source = nil
  @expected = []
end

Class Method Details

.run(file, block) ⇒ Example

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Run DSL on block

Returns:



15
16
17
18
19
# File 'lib/mutant/meta/example/dsl.rb', line 15

def self.run(file, block)
  instance = new(file)
  instance.instance_eval(&block)
  instance.example
end

Instance Method Details

#exampleExample

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return example

Returns:

Raises:

  • (RuntimeError)

    in case example cannot be build



42
43
44
45
# File 'lib/mutant/meta/example/dsl.rb', line 42

def example
  fail 'source not defined' unless @source
  Example.new(@file, @source, @expected)
end