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:
445 446 447 |
# File 'lib/erubis/enhancer.rb', line 445 def self.desc # :nodoc: "regard lines starting with '%' as program code" end |
Instance Method Details
#add_text(src, text) ⇒ Object
449 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 |
# File 'lib/erubis/enhancer.rb', line 449 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 |