class StringScanner

parsing helpers

Public Instance Methods

scan_for(regx) click to toggle source
# File bin/sqlconv, line 14
def scan_for(regx)
  data = scan_until(Regexp === regx ? regx : /#{regx}/)
  size = matched_size or return
  data[-size..-1]
end
scan_str(str) click to toggle source
# File bin/sqlconv, line 20
def scan_str(str)
  if peek(str.size) == str
    self.pos += str.size
    str
  else
    nil
  end
end
scan_while(regx, skip=nil) click to toggle source
# File bin/sqlconv, line 29
def scan_while(regx, skip=nil)
  seen = -1
  list = []
  while item = scan(regx)
    if skip
      list << item if (seen += 1) % skip == 0
    else
      list << item
    end
  end
  list
end