diff --git a/lib/resourceful/builder.rb b/lib/resourceful/builder.rb index 24012be..6ae813c 100644 --- a/lib/resourceful/builder.rb +++ b/lib/resourceful/builder.rb @@ -53,7 +53,7 @@ def apply kontroller.read_inheritable_attribute(:resourceful_responses).merge! @responses kontroller.write_inheritable_attribute(:parents, @parents) - kontroller.before_filter { |c| c.send(:load_parent_object) } + kontroller.before_filter :load_parent_object, :only => @ok_actions end # :call-seq: diff --git a/spec/builder_spec.rb b/spec/builder_spec.rb index fe7f15c..8b3daa3 100644 --- a/spec/builder_spec.rb +++ b/spec/builder_spec.rb @@ -34,10 +34,8 @@ parents.should be_empty end - it "should set load_parent_object as a before_filter" do - yielded = stub - @kontroller.expects(:before_filter).yields(yielded) - yielded.expects(:send).with(:load_parent_object) + it "should set load_parent_object as a before_filter for no actions" do + @kontroller.expects(:before_filter).with(:load_parent_object, :only => []) @builder.apply end end @@ -63,6 +61,11 @@ @builder.apply (@kontroller.hidden_actions & @actions).should be_empty end + + it "should set load_parent_object as a before_filter for the given actions" do + @kontroller.expects(:before_filter).with(:load_parent_object, :only => [:show, :index, :new, :create]) + @builder.apply + end end describe Resourceful::Builder, " with all actions set for a plural controller" do