Module: Erubis::PercentLineEnhancer
- Included in:
- PercentLineEruby
- Defined in:
- lib/erubis/enhancer.rb
Overview
regards lines starting with ‘%’ as program code
this is for compatibility to eruby and ERB.
this is language-independent.
Class Method Summary collapse
-
.desc ⇒ Object
:nodoc:.
Instance Method Summary collapse
Class Method Details
.desc ⇒ Object
:nodoc:
446 447 448 |
# File 'lib/erubis/enhancer.rb', line 446 def self.desc # :nodoc: "regard lines starting with '%' as program code" end |
Instance Method Details
#add_text(src, text) ⇒ Object
450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 |
# File 'lib/erubis/enhancer.rb', line 450 def add_text(src, text) pos = 0 text2 = '' text.scan(/^\%(.*?\r?\n)/) do line = $1 match = Regexp.last_match len = match.begin(0) - pos str = text[pos, len] pos = match.end(0) if text2.empty? text2 = str else text2 << str end if line[0] == ?% text2 << line else super(src, text2) text2 = '' add_stmt(src, line) end end #rest = pos == 0 ? text : $' # ruby1.8 rest = pos == 0 ? text : text[pos..-1] # ruby1.9 unless text2.empty? text2 << rest if rest rest = text2 end super(src, rest) end |