Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Properly check the arity for template handlers.

  • Loading branch information...
commit cc70ac9508dff6a4406f446d7a53d05f6c7d9f61 1 parent 28cf772
@josevalim josevalim authored
View
2  actionpack/lib/action_view/template.rb
@@ -275,7 +275,7 @@ def compile(view, mod) #:nodoc:
end
arity = @handler.respond_to?(:arity) ? @handler.arity : @handler.method(:call).arity
- code = arity == 1 ? @handler.call(self) : @handler.call(self, view)
+ code = arity.abs == 1 ? @handler.call(self) : @handler.call(self, view)
# Make sure that the resulting String to be evalled is in the
# encoding of the code
View
5 actionpack/test/template/render_test.rb
@@ -225,6 +225,11 @@ def test_render_fallbacks_to_erb_for_unknown_types
%'"#{template.class} #{view.class}"'
end
+ def test_render_inline_with_render_from_to_proc
+ ActionView::Template.register_template_handler :ruby_handler, :source.to_proc
+ assert_equal '3', @view.render(:inline => "(1 + 2).to_s", :type => :ruby_handler)
+ end
+
def test_render_inline_with_template_handler_with_view
ActionView::Template.register_template_handler :with_view, WithViewHandler
assert_equal 'ActionView::Template ActionView::Base', @view.render(:inline => "Hello, World!", :type => :with_view)
Please sign in to comment.
Something went wrong with that request. Please try again.