Class: Text::Gen::Segment::Parser
- Inherits:
-
Object
- Object
- Text::Gen::Segment::Parser
- Defined in:
- lib/text/gen/segment/parser.rb
Defined Under Namespace
Classes: SegmentParseError
Class Method Summary collapse
Class Method Details
.parse(str) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/text/gen/segment/parser.rb', line 14 def parse(str) segments = [] scanner = StringScanner.new(str) until scanner.eos? seg = Dice.scan(scanner) || Reference.scan(scanner) || Number.scan(scanner) || Constant.scan(scanner) raise SegmentParseError, "Invalid segment: #{scanner.rest}" unless seg segments << seg end segments end |