Class: REXML::Validation::Optional

Inherits:
State show all
Defined in:
lib/rexml/validation/relaxng.rb

Direct Known Subclasses

ZeroOrMore

Instance Method Summary collapse

Methods inherited from State

#<<, #initialize, #inspect, #previous=, #reset, #to_s

Constructor Details

This class inherits a constructor from REXML::Validation::State

Instance Method Details

#expectedObject


274
275
276
277
# File 'lib/rexml/validation/relaxng.rb', line 274

def expected
  return [ @prior.expected, @events[0] ].flatten if @current == 0
  return [@events[@current]]
end

#matches?(event) ⇒ Boolean


269
270
271
272
# File 'lib/rexml/validation/relaxng.rb', line 269

def matches?(event)
  @events[@current].matches?(event) ||
  (@current == 0 and @previous[-1].matches?(event))
end

#next(event) ⇒ Object


259
260
261
262
263
264
265
266
267
# File 'lib/rexml/validation/relaxng.rb', line 259

def next( event )
  if @current == 0
    rv = super
    return rv if rv
    @prior = @previous.pop
    return @prior.next( event )
  end
  super
end