Add specs for resource attributes.
Remove inconsistent line breaks.
This commit is contained in:
parent
c2c0b86c3a
commit
b965f5bab4
|
@ -6,13 +6,11 @@ module CanCan
|
||||||
@controller.send :association_chain
|
@controller.send :association_chain
|
||||||
@controller.instance_variable_get("@#{instance_name}")
|
@controller.instance_variable_get("@#{instance_name}")
|
||||||
elsif new_actions.include? @params[:action].to_sym
|
elsif new_actions.include? @params[:action].to_sym
|
||||||
|
|
||||||
resource = @controller.send :build_resource
|
resource = @controller.send :build_resource
|
||||||
initial_attributes.each do |attr_name, value|
|
initial_attributes.each do |attr_name, value|
|
||||||
resource.send("#{attr_name}=", value)
|
resource.send("#{attr_name}=", value)
|
||||||
end
|
end
|
||||||
resource
|
resource
|
||||||
|
|
||||||
else
|
else
|
||||||
@controller.send :resource
|
@controller.send :resource
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,4 +39,22 @@ describe CanCan::InheritedResource do
|
||||||
CanCan::InheritedResource.new(@controller).load_resource
|
CanCan::InheritedResource.new(@controller).load_resource
|
||||||
@controller.instance_variable_get(:@projects).should == :projects
|
@controller.instance_variable_get(:@projects).should == :projects
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should build a new resource with attributes from current ability" do
|
||||||
|
@params[:action] = "new"
|
||||||
|
@ability.can(:create, Project, :name => "from conditions")
|
||||||
|
stub(@controller).build_resource { Struct.new(:name).new }
|
||||||
|
resource = CanCan::InheritedResource.new(@controller)
|
||||||
|
resource.load_resource
|
||||||
|
@controller.instance_variable_get(:@project).name.should == "from conditions"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should override initial attributes with params" do
|
||||||
|
@params.merge!(:action => "new", :project => {:name => "from params"})
|
||||||
|
@ability.can(:create, Project, :name => "from conditions")
|
||||||
|
stub(@controller).build_resource { Struct.new(:name).new }
|
||||||
|
resource = CanCan::ControllerResource.new(@controller)
|
||||||
|
resource.load_resource
|
||||||
|
@controller.instance_variable_get(:@project).name.should == "from params"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user