method
scan
v1_8_7_72 -
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(&blk)
public
Hide source
# File lib/erb.rb, line 430 def scan(&blk) stag_reg = /(.*?)(^%%|^%|<%%|<%=|<%#|<%|\z)/m etag_reg = /(.*?)(%%>|%>|\z)/m scanner = StringScanner.new(@src) while ! scanner.eos? scanner.scan(@stag ? etag_reg : stag_reg) yield(scanner[1]) elem = scanner[2] if elem == '%%' yield('%') inline_scan(scanner.scan(/.*?(\n|\z)/), &blk) elsif elem == '%' yield(PercentLine.new(scanner.scan(/.*?(\n|\z)/).chomp)) else yield(elem) end end end