Method: Roda::RodaPlugins::OptimizedSegmentMatchers::RequestMethods#on_segment

Defined in:
lib/roda/plugins/optimized_segment_matchers.rb

#on_segmentObject

Optimized version of r.on String that yields the next segment if there is a segment.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/roda/plugins/optimized_segment_matchers.rb', line 26

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