module Roda::RodaPlugins::OptimizedSegmentMatchers::RequestMethods

def is_segment

is the final segment.
Optimized version of +r.is String+ that yields the next segment only if it
def is_segment
  rp = @remaining_path
  if rp.getbyte(0) == 47 && !rp.index('/', 1) && (len = rp.length) > 1
    @remaining_path = ""
    always{yield rp[1, len]}
  end
end

def on_segment

is a segment.
Optimized version of +r.on String+ that yields the next segment if there
def on_segment
  rp = @remaining_path
  if rp.getbyte(0) == 47
    if last = rp.index('/', 1)
      @remaining_path = rp[last, rp.length]
      always{yield rp[1, last-1]}
    elsif (len = rp.length) > 1
      @remaining_path = ""
      always{yield rp[1, len]}
    end
  end
end