aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/template/handlers/erb.rb
diff options
context:
space:
mode:
authorArtiom Di <kron82@gmail.com>2012-07-11 16:36:41 +0300
committerArtiom Di <kron82@gmail.com>2012-08-07 12:37:56 +0300
commite82ffeaa0a7a8fe8ba94dc0736c15d05b5746abc (patch)
treeb2f67b3e376d0cd0d9c0d7f376f29e195a9e5b1a /actionpack/lib/action_view/template/handlers/erb.rb
parent9cd1f697f1b4dded0f18e13c7ae12c7bd2dab1c0 (diff)
downloadrails-e82ffeaa0a7a8fe8ba94dc0736c15d05b5746abc.tar.gz
rails-e82ffeaa0a7a8fe8ba94dc0736c15d05b5746abc.tar.bz2
rails-e82ffeaa0a7a8fe8ba94dc0736c15d05b5746abc.zip
Restoring the '%' trim mode for ERb templates, allowing for a leading percent sign on a line to indicate non-inserted Ruby code.
Diffstat (limited to 'actionpack/lib/action_view/template/handlers/erb.rb')
-rw-r--r--actionpack/lib/action_view/template/handlers/erb.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/template/handlers/erb.rb b/actionpack/lib/action_view/template/handlers/erb.rb
index aa8eac7846..4e80c4f456 100644
--- a/actionpack/lib/action_view/template/handlers/erb.rb
+++ b/actionpack/lib/action_view/template/handlers/erb.rb
@@ -37,6 +37,10 @@ module ActionView
end
end
+ class ErubisWithPercentLine < Erubis
+ include ::Erubis::PercentLineEnhancer
+ end
+
class ERB
# Specify trim mode for the ERB compiler. Defaults to '-'.
# See ERB documentation for suitable values.
@@ -76,10 +80,12 @@ module ActionView
# Always make sure we return a String in the default_internal
erb.encode!
- self.class.erb_implementation.new(
- erb,
- :trim => (self.class.erb_trim_mode == "-")
- ).src
+ mode = self.class.erb_trim_mode.to_s
+ implementation = self.class.erb_implementation
+ if mode.include? "%" and implementation == Erubis
+ implementation = ErubisWithPercentLine
+ end
+ implementation.new(erb, :trim => mode.include?("-")).src
end
private