Class: REXML::Validation::Optional

Inherits:
State
  • Object
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



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

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

#matches?(event) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#next(event) ⇒ Object



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

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