method
scan
v1_8_6_287 -
Show latest stable
-
0 notes -
Class: ERB::Compiler::PercentScanner
- 1_8_6_287 (0)
- 1_8_7_72 (0)
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125
- 1_9_3_392
- 2_1_10
- 2_2_9
- 2_4_6
- 2_5_5
- 2_6_3
- What's this?
scan()
public
Hide source
# File lib/erb.rb, line 426 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? if scanner.scan(/%%/) yield('%') new_line = false next elsif scanner.scan(/%/) yield(PercentLine.new(scanner.scan(/.*?(\n|\z)/).chomp)) next end end scanner.scan(@stag ? etag_reg : stag_reg) text = scanner[1] elem = scanner[2] yield(text) unless text.empty? yield(elem) unless elem.empty? new_line = (elem == "\n") end end