Class: Erb::Scanner

Inherits:
ERB::Compiler::Scanner
  • Object
show all
Defined in:
lib/erb/stripper.rb

Instance Method Summary collapse

Instance Method Details

#scanObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/erb/stripper.rb', line 10

def scan
  stag_reg = /(.*?)(^[ \t]*<%%|<%%=|<%=|<%#|<%-|<%|\z)/m
  etag_reg = /(.*?)(%%>|\-%>|%>|\z)/m
  scanner = StringScanner.new(@src)
  while !scanner.eos?
    scanner.scan(@stag ? etag_reg : stag_reg)
    yield(scanner[1]) unless scanner[1].nil?
    yield(scanner[2]) unless scanner[2].nil?
  end
end