class REXML::Validation::OneOrMore
Public Class Methods
new(context)
click to toggle source
Calls superclass method
REXML::Validation::State::new
# File lib/rexml/validation/relaxng.rb, line 312 def initialize context super @ord = 0 end
Public Instance Methods
expected()
click to toggle source
# File lib/rexml/validation/relaxng.rb, line 348 def expected if @current == 0 and @ord > 0 return [@previous[-1].expected, @events[0]].flatten else return [@events[@current]] end end
matches?( event )
click to toggle source
# File lib/rexml/validation/relaxng.rb, line 343 def matches?( event ) @events[@current].matches?(event) || (@current == 0 and @ord > 0 and @previous[-1].matches?(event)) end
next( event )
click to toggle source
# File lib/rexml/validation/relaxng.rb, line 322 def next( event ) expand_ref_in( @events, @current ) if @events[@current].class == Ref if ( @events[@current].matches?(event) ) @current += 1 @ord += 1 if @events[@current].nil? @current = 0 return self elsif @events[@current].kind_of? State @current += 1 @events[@current-1].previous = self return @events[@current-1] else return self end else return @previous.pop.next( event ) if @current == 0 and @ord > 0 return nil end end
reset()
click to toggle source
Calls superclass method
REXML::Validation::State#reset
# File lib/rexml/validation/relaxng.rb, line 317 def reset super @ord = 0 end