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
Classes: BackgroundBuilder, Builder, FeatureBuilder, ScenarioBuilder, ScenarioOutlineBuilder
Instance Method Summary
collapse
Constructor Details
Returns a new instance of AstBuilder.
12
13
14
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 12
def initialize(path)
@path = path
end
|
Instance Method Details
#background(node) ⇒ Object
33
34
35
36
37
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 33
def background(node)
builder = BackgroundBuilder.new(file, node)
@feature_builder.background_builder = builder
@current = builder
end
|
#eof ⇒ Object
59
60
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 59
def eof
end
|
#examples(node) ⇒ Object
51
52
53
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 51
def examples(node)
@current.add_examples file, node
end
|
#feature(node) ⇒ Object
29
30
31
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 29
def feature(node)
@feature_builder = FeatureBuilder.new(file, node)
end
|
#language=(language) ⇒ Object
21
22
23
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 21
def language=(language)
@language = language
end
|
#result ⇒ Object
16
17
18
19
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 16
def result
return nil unless @feature_builder
@feature_builder.result(language)
end
|
#scenario(node) ⇒ Object
39
40
41
42
43
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 39
def scenario(node)
builder = ScenarioBuilder.new(file, node)
@feature_builder.add_child builder
@current = builder
end
|
#scenario_outline(node) ⇒ Object
45
46
47
48
49
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 45
def scenario_outline(node)
builder = ScenarioOutlineBuilder.new(file, node)
@feature_builder.add_child builder
@current = builder
end
|
#step(node) ⇒ Object
55
56
57
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 55
def step(node)
@current.add_step file, node
end
|
#syntax_error(state, event, legal_events, line) ⇒ Object
62
63
64
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 62
def syntax_error(state, event, legal_events, line)
end
|
#uri(uri) ⇒ Object
25
26
27
|
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 25
def uri(uri)
@path = uri
end
|