method
scan
![No documentation Importance_0](https://d2vfyqvduarcvs.cloudfront.net/images/importance_0.png?1349367920)
scan()
public
Hide source
# File lib/erb.rb, line 454 def scan new_line = true stag_reg = /(.*?)(<%%|<%=|<%#|<%-|<%|\n|\z)/ etag_reg = /(.*?)(%%>|-%>|%>|\n|\z)/ scanner = StringScanner.new(@src) while ! scanner.eos? if new_line && @stag.nil? && scanner.scan(/[ \t]*<%-/) yield('<%') new_line = false next end scanner.scan(@stag ? etag_reg : stag_reg) text = scanner[1] elem = scanner[2] new_line = (elem == "\n") yield(text) unless text.empty? if elem == '-%>' yield('%>') if scanner.scan(/(\n|\z)/) yield(:cr) new_line = true end elsif elem == '<%-' yield('<%') else yield(elem) unless elem.empty? end end end