module Erubis::BiPatternEnhancer
def self.desc # :nodoc:
def self.desc # :nodoc: "another embedded expression pattern (default '\[= =\]')." end
def add_text(src, text)
def add_text(src, text) return unless text m = nil text.scan(@bipattern_regexp) do |txt, indicator, code| m = Regexp.last_match super(src, txt) add_expr(src, code, '=' + indicator) end #rest = $' || text # ruby1.8 rest = m ? text[m.end(0)..-1] : text # ruby1.9 super(src, rest) end
def bipattern=(pat) # :nodoc:
# when pat is nil then '\[= =\]' is used
def bipattern=(pat) # :nodoc: @bipattern = pat || '\[= =\]' pre, post = @bipattern.split() @bipattern_regexp = /(.*?)#{pre}(=*)(.*?)#{post}/m end
def initialize(input, properties={})
def initialize(input, properties={}) self.bipattern = properties[:bipattern] # or '\$\{ \}' super end