Class: Kaiseki::MultiParser
Instance Attribute Summary
Attributes inherited from BasicParser
#expected
Instance Method Summary
collapse
Methods inherited from BasicParser
#eql?
Methods included from Parseable
#&, #action, #and?, #cast, #filter, #merge, #not!, #one_or_more, #optional, #override, #parse, #predicate?, #protect, #repeat, #set, #skip, #tag_error, #tag_result, #to_parseable, #validate, #zero_or_more, #|
Constructor Details
#initialize(*parsers) ⇒ MultiParser
Returns a new instance of MultiParser.
3
4
5
|
# File 'lib/parser_multi.rb', line 3
def initialize *parsers
@expected = parsers.collect {|n| n.to_parseable }
end
|
Instance Method Details
#append(parseable) ⇒ Object
7
8
9
10
|
# File 'lib/parser_multi.rb', line 7
def append parseable
@expected << parseable.to_parseable
self
end
|
#delimiter ⇒ Object
12
13
14
|
# File 'lib/parser_multi.rb', line 12
def delimiter
'--'
end
|
16
17
18
19
20
21
22
|
# File 'lib/parser_multi.rb', line 16
def to_s
if @expected.empty?
'(empty)'
else
@expected.join ' ' + delimiter + ' '
end
end
|