Merged updates from trunk into stable branch
[feedcatcher.git] / vendor / rails / actionpack / lib / action_view / template_handlers / erb.rb
1 module ActionView
2 module TemplateHandlers
3 class ERB < TemplateHandler
4 include Compilable
5
6 ##
7 # :singleton-method:
8 # Specify trim mode for the ERB compiler. Defaults to '-'.
9 # See ERb documentation for suitable values.
10 cattr_accessor :erb_trim_mode
11 self.erb_trim_mode = '-'
12
13 def compile(template)
14 src = ::ERB.new("<% __in_erb_template=true %>#{template.source}", nil, erb_trim_mode, '@output_buffer').src
15
16 # Ruby 1.9 prepends an encoding to the source. However this is
17 # useless because you can only set an encoding on the first line
18 RUBY_VERSION >= '1.9' ? src.sub(/\A#coding:.*\n/, '') : src
19 end
20 end
21 end
22 end