From 656261d7d78e3614ee8cfaf2f13d688ef40f925b Mon Sep 17 00:00:00 2001 From: Gustavo Puglia Date: Fri, 24 Mar 2017 17:07:42 +0000 Subject: [PATCH 1/2] Revert "Do not run block if given a class, instead of an instance" This reverts commit 52f271a10ebe0f8a7c2fabe1d7f732738de71c3b. --- lib/access-granted/permission.rb | 2 +- spec/permission_spec.rb | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/access-granted/permission.rb b/lib/access-granted/permission.rb index 608917f..de0cfe6 100644 --- a/lib/access-granted/permission.rb +++ b/lib/access-granted/permission.rb @@ -20,7 +20,7 @@ def matches_subject?(subject) end def matches_conditions?(subject) - if @block && !subject.is_a?(Class) + if @block @block.call(subject, @user) else matches_hash_conditions?(subject) diff --git a/spec/permission_spec.rb b/spec/permission_spec.rb index 61097a8..40c09b3 100644 --- a/spec/permission_spec.rb +++ b/spec/permission_spec.rb @@ -14,12 +14,6 @@ perm = subject.new(true, :read, sub.class, nil, {}, proc {|el| el.published? }) expect(perm.matches_conditions?(sub)).to eq(true) end - - it "does not match proc conditions when given a class instead of an instance" do - sub = double("Element", published?: true) - perm = subject.new(true, :read, sub.class, nil, {}, proc {|el| el.published? }) - expect(perm.matches_conditions?(sub.class)).to eq(true) - end end describe "#matches_hash_conditions?" do From c77a88470623f437d3f7b1b899c6c6a29f76d0a9 Mon Sep 17 00:00:00 2001 From: Gustavo Puglia Date: Fri, 24 Mar 2017 17:14:49 +0000 Subject: [PATCH 2/2] Fix specs --- spec/policy_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/policy_spec.rb b/spec/policy_spec.rb index eef305d..4a10b17 100644 --- a/spec/policy_spec.rb +++ b/spec/policy_spec.rb @@ -68,7 +68,7 @@ def configure klass = Class.new do include AccessGranted::Policy - def configure(user) + def configure role :member do can :manage, FakePost end