diff --git a/lib/haml/template.rb b/lib/haml/template.rb index 806c9978..4ed061b3 100644 --- a/lib/haml/template.rb +++ b/lib/haml/template.rb @@ -54,7 +54,7 @@ end # Patching was necessary for versions <= 2.0.1, # but we can make it a normal handler for higher versions. if defined?(ActionView::TemplateHandler) || - (defined?(ActionView::Template) && defined?(ActionView::Template::Handler)) + (defined?(ActionView::Template) && defined?(ActionView::Template::Handlers)) require 'haml/template/plugin' else require 'haml/template/patch' diff --git a/lib/haml/util.rb b/lib/haml/util.rb index 7e7b8871..698b6925 100644 --- a/lib/haml/util.rb +++ b/lib/haml/util.rb @@ -424,8 +424,11 @@ WARNING # For example, `:Error` will return `ActionView::TemplateError` # or `ActionView::Template::Error`. def av_template_class(name) - return ActionView.const_get("Template#{name}") if ActionView.const_defined?("Template#{name}") - return ActionView::Template.const_get(name.to_s) + if ActionView::Template.const_defined?(name) + ActionView::Template.const_get(name) + else + ActionView.const_get("Template#{name}") + end end ## Rails XSS Safety