diff --git a/lib/rabl-rails/renderers/base.rb b/lib/rabl-rails/renderers/base.rb index 7f7e087..7027620 100644 --- a/lib/rabl-rails/renderers/base.rb +++ b/lib/rabl-rails/renderers/base.rb @@ -96,7 +96,7 @@ module RablRails # missing method. # def method_missing(name, *args, &block) - @context.respond_to?(name) ? @context.send(name, *args, &block) : super + @_context.respond_to?(name) ? @_context.send(name, *args, &block) : super end # diff --git a/test/renderers/json_renderer_test.rb b/test/renderers/json_renderer_test.rb index a871a81..84a508f 100644 --- a/test/renderers/json_renderer_test.rb +++ b/test/renderers/json_renderer_test.rb @@ -76,6 +76,14 @@ class TestJsonRenderer < ActiveSupport::TestCase @template.source = { :name => [condition, proc] } assert_equal %q({}), render_json_output end + + test "node with context method call" do + @context.stub(:respond_to?).with(:context_method).and_return(true) + @context.stub(:context_method).and_return('marty') + proc = lambda { |object| context_method } + @template.source = { :name => proc } + assert_equal %q({"name":"marty"}), render_json_output + end test "partial should be evaluated at rendering time" do # Set assigns