Module: CukeModeler::Parsing
- Included in:
- Background, Cell, Comment, DocString, Example, Outline, Row, Scenario, Step, Table, Tag
- Defined in:
- lib/cuke_modeler/parsing.rb
Overview
A module providing source text parsing functionality.
Class Attribute Summary collapse
-
.dialect ⇒ Object
The dialect that will be used to parse snippets of Gherkin text.
Class Method Summary collapse
-
.dialects ⇒ Object
The dialects currently known by the gherkin gem.
-
.parse_text(source_text, filename = 'cuke_modeler_fake_file.feature') ⇒ Object
Parses the Cucumber feature given in source_text and returns an array containing the hash representation of its logical structure.
Class Attribute Details
.dialect ⇒ Object
The dialect that will be used to parse snippets of Gherkin text
54 55 56 |
# File 'lib/cuke_modeler/parsing.rb', line 54 def dialect @dialect || 'en' end |
Class Method Details
.dialects ⇒ Object
The dialects currently known by the gherkin gem
59 60 61 62 63 64 65 |
# File 'lib/cuke_modeler/parsing.rb', line 59 def dialects unless @dialects @dialects = Gem.loaded_specs['gherkin'].version.version[/^2\./] ? Gherkin::I18n::LANGUAGES : Gherkin::DIALECTS end @dialects end |
.parse_text(source_text, filename = 'cuke_modeler_fake_file.feature') ⇒ Object
Parses the Cucumber feature given in source_text and returns an array containing the hash representation of its logical structure.
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/cuke_modeler/parsing.rb', line 69 def parse_text(source_text, filename = 'cuke_modeler_fake_file.feature') raise(ArgumentError, "Text to parse must be a String but got #{source_text.class}") unless source_text.is_a?(String) begin parsed_result = parsing_method(source_text, filename) rescue => e raise(ArgumentError, "Error encountered while parsing '#{filename}'\n#{e.class} - #{e.}") end adapter_class.new.adapt(parsed_result) end |