class Parslet::Atoms::Named
Names a match to influence tree construction.
Example:
str('foo') # will return 'foo', str('foo').as(:foo) # will return :foo => 'foo'
Attributes
name[R]
parslet[R]
Public Class Methods
new(parslet, name)
click to toggle source
Calls superclass method
# File lib/parslet/atoms/named.rb, line 10 def initialize(parslet, name) super() @parslet, @name = parslet, name end
Public Instance Methods
accept(visitor)
click to toggle source
Call back visitors visit_named method. See parslet/export for an example.
# File lib/parslet/atoms/visitor.rb, line 33 def accept(visitor) visitor.visit_named(name, parslet) end
apply(source, context, consume_all)
click to toggle source
# File lib/parslet/atoms/named.rb, line 16 def apply(source, context, consume_all) success, value = result = parslet.apply(source, context, consume_all) return result unless success succ( produce_return_value( value)) end
to_s_inner(prec)
click to toggle source
# File lib/parslet/atoms/named.rb, line 25 def to_s_inner(prec) "#{name}:#{parslet.to_s(prec)}" end
Private Instance Methods
produce_return_value(val)
click to toggle source
# File lib/parslet/atoms/named.rb, line 29 def produce_return_value(val) { name => flatten(val, true) } end