class Scribble::Parsing::DelimitedChunk
Public Class Methods
new(delimiters, min_chars = 0)
click to toggle source
# File lib/scribble/parsing/parser.rb, line 6 def initialize delimiters, min_chars = 0 @delimiters = delimiters @min_chars = min_chars end
Public Instance Methods
to_s_inner(prec)
click to toggle source
# File lib/scribble/parsing/parser.rb, line 21 def to_s_inner(prec) "until('#{@delimiters.inspect}')" end
try(source, context, consume_all)
click to toggle source
# File lib/scribble/parsing/parser.rb, line 11 def try(source, context, consume_all) excluding_length = @delimiters.map {|d| source.chars_until(d) }.min if excluding_length >= @min_chars return succ(source.consume([excluding_length, 100000].min)) # max 100000 character atom, otherwise error in resulting regexp else return context.err(self, source, "No such string in input: #{@delimiters.inspect}.") end end