diff --git a/lib/draper/helper_proxy.rb b/lib/draper/helper_proxy.rb index 5814814..4a40f4e 100644 --- a/lib/draper/helper_proxy.rb +++ b/lib/draper/helper_proxy.rb @@ -16,6 +16,8 @@ module Draper send(method, *args, &block) end + delegate :capture, to: :view_context + protected attr_reader :view_context diff --git a/spec/draper/helper_proxy_spec.rb b/spec/draper/helper_proxy_spec.rb index 60f5ab7..1f73b0f 100644 --- a/spec/draper/helper_proxy_spec.rb +++ b/spec/draper/helper_proxy_spec.rb @@ -38,5 +38,16 @@ module Draper expect(HelperProxy.instance_methods).to include :foo end end + + describe "proxying methods which are overriding" do + it "proxies :capture" do + view_context = double + helper_proxy = HelperProxy.new(view_context) + + view_context.stub(:capture).and_return{|*args, &block| [*args, block.call] } + expect(helper_proxy.capture(:first_arg, :second_arg){:yielded}).to \ + be_eql [:first_arg, :second_arg, :yielded] + end + end end end