Module: L43Peg::Combinators::Satisfy
Instance Method Summary collapse
Instance Method Details
#satisfy(parser, name: nil, fn: nil, &satisfier) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/l43_peg/combinators/satisfy.rb', line 6 def satisfy(parser, name: nil, fn: nil, &satisfier) raise ArgumentError, "must not provide keyword parameter fn and a block" if fn && satisfier satisfier = fn || satisfier raise ArgumentError, "must provide one the keyword parameter fn: or a block" unless satisfier name ||= "satisfy(#{parser.name})" Parser.new(name) {|input, name=nil| _satisfy(input:, name:, parser:, satisfier:)} end |