Class: Cucumber::Core::Gherkin::AstBuilder
- Inherits:
-
Object
- Object
- Cucumber::Core::Gherkin::AstBuilder
show all
- Defined in:
- lib/cucumber/core/gherkin/ast_builder.rb
Overview
Builds an AST of a feature by listening to events from the
Gherkin parser.
Defined Under Namespace
Modules: MultilineArgument
Classes: BackgroundBuilder, Builder, FeatureBuilder, ScenarioBuilder, ScenarioOutlineBuilder
Instance Method Summary
collapse
Constructor Details
Returns a new instance of AstBuilder.
12
13
14
15
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 12
def initialize(path)
@path = path
@feature_builder = nil
end
|
Instance Method Details
#background(node) ⇒ Object
34
35
36
37
38
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 34
def background(node)
builder = BackgroundBuilder.new(file, node)
@feature_builder.background_builder = builder
@current = builder
end
|
#eof ⇒ Object
60
61
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 60
def eof
end
|
#examples(node) ⇒ Object
52
53
54
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 52
def examples(node)
@current.add_examples file, node
end
|
#feature(node) ⇒ Object
30
31
32
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 30
def feature(node)
@feature_builder = FeatureBuilder.new(file, node)
end
|
#language=(language) ⇒ Object
22
23
24
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 22
def language=(language)
@language = language
end
|
#result ⇒ Object
17
18
19
20
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 17
def result
return Ast::NullFeature.new unless @feature_builder
@feature_builder.result(language)
end
|
#scenario(node) ⇒ Object
40
41
42
43
44
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 40
def scenario(node)
builder = ScenarioBuilder.new(file, node)
@feature_builder.add_child builder
@current = builder
end
|
#scenario_outline(node) ⇒ Object
46
47
48
49
50
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 46
def scenario_outline(node)
builder = ScenarioOutlineBuilder.new(file, node)
@feature_builder.add_child builder
@current = builder
end
|
#step(node) ⇒ Object
56
57
58
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 56
def step(node)
@current.add_step file, node
end
|
#syntax_error(state, event, legal_events, line) ⇒ Object
63
64
65
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 63
def syntax_error(state, event, legal_events, line)
end
|
#uri(uri) ⇒ Object
26
27
28
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 26
def uri(uri)
@path = uri
end
|