summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/erubis/enhancer.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/erubis/enhancer.rb b/lib/erubis/enhancer.rb
index 29f5af3..361a582 100644
--- a/lib/erubis/enhancer.rb
+++ b/lib/erubis/enhancer.rb
@@ -448,11 +448,14 @@ module Erubis
def init_generator(properties={})
super
- @prefixchar = properties[:prefixchar] || '%'
- @prefixrexp = Regexp.compile("^([ \\t]*)\\#{@prefixchar}(.*?\\r?\\n)")
+ @prefixchar = properties[:prefixchar]
end
def add_text(src, text)
+ unless @prefixrexp
+ @prefixchar ||= '%'
+ @prefixrexp = Regexp.compile("^([ \\t]*)\\#{@prefixchar}(.*?\\r?\\n)")
+ end
pos = 0
text2 = ''
text.scan(@prefixrexp) do
@@ -511,9 +514,11 @@ module Erubis
#++
def add_text(src, text)
- @prefixchar = '%'
- @prefixrexp = /^\%(.*?\r?\n)/
- super
+ unless @prefixrexp
+ @prefixchar = '%'
+ @prefixrexp = /^\%(.*?\r?\n)/
+ end
+ super(src, text)
end
end