Ruby 1.9: Strip encoding from ERB source since you can not change character encoding during a method

This commit is contained in:
Joshua Peek 2008-07-19 00:24:02 -05:00
parent c609be4596
commit 108ed4a566

@ -48,8 +48,11 @@ class ERB < TemplateHandler
self.erb_trim_mode = '-'
def compile(template)
src = ::ERB.new(template.source, nil, erb_trim_mode, '@output_buffer').src
"__in_erb_template=true;#{src}"
src = ::ERB.new("<% __in_erb_template=true %>#{template.source}", nil, erb_trim_mode, '@output_buffer').src
# Ruby 1.9 prepends an encoding to the source. However this is
# useless because you can only set an encoding on the first line
RUBY_VERSION >= '1.9' ? src.sub(/\A#coding:.*\n/, '') : src
end
end
end