Yeah, I understand what you mean.
The checks accept a priority argument. See this spec
it "respects check priority" do
plugin.add_guardian_check(:after, :edit_post, 2) { false }
plugin.add_guardian_check(:after, :edit_post, 0) { true }
plugin.add_guardian_check(:after, :edit_post, 1) { false }
expect(Guardian.new(user).can_edit_post?(post)).to be_truthy
end
How about I limit this PR to just before checks? That would serve the immediate needs and reduce the variables in play a bit here.