1
0
Fork 0
mirror of https://github.com/varvet/pundit.git synced 2022-11-09 12:30:11 -05:00
Commit graph

14 commits

Author SHA1 Message Date
John Otander
a0be3e179f Add autoload require for jruby. 2014-04-22 22:02:03 -06:00
Jonas Nicklas
8155ba5d79 Raise a different error when authorization is not performed
closes #108
2014-04-04 16:30:41 +02:00
Igor Kapkov
8c89f1391d hide unused actions 2014-03-09 23:01:53 +04:00
Ulysse Carion
d766d9e792 Add #query, #record, and #policy properties to Pundit::NotAuthorizedError.
Exceptions raised by #authorize now provide the query (e.g. 'create?') and
record (e.g. an instance of 'Post') that caused the exception to be raised, as
well as the relevant policy (e.g. an instance of 'PostPolicy').

NotAuthorizedError is modified to continue to inherit from StandardError, but
now also has attr_accessor values for :query, :record, and :policy.
2014-03-05 00:12:44 -08:00
Thomas Klemm
f3fee8d3b9 Clarify meaning of a few variables 2013-11-05 18:58:09 +01:00
Tim Cooper
26e3706719 Allow policies and scopes to be injected into controllers.
In controller specs instead of relying on Pundit to instantiate the correct
policy object allow it to be injected into the controller. More often than not
a double is used in controller specs which means the policy cannot be
inferred. This also allows us to double the policy to ensure that on a unit
level the rights methods are being called on callaborators.

class PostsController < ApplicationController
  attr_writer :post
  helper_method :post

  def create
    authorize post

    post.save
    respond_with post
  end

  private

  def post
    @post ||= Post.new post_attributes
  end
end

describe PagesController do
  let(:policy) { double 'SomePolicy', create?: true }

  before do
    controller.policy = policy
  end

  it 'delegates authorization to policy' do
    expect(policy).to have_received(:create?)
  end
end

Add spec for injecting policy.

Use `or` instead of ternary operator.

Allow policy_scope to be injected for controller tests.
2013-09-02 11:32:30 +02:00
Philip Vieira
149a02c7b8 pundit_user should be a helper and hidden as an action 2013-07-14 00:50:39 +02:00
Philip Vieira
a847f782cd Let pundit_user raise a name error if current_user is not present. 2013-07-13 16:24:13 +02:00
Philip Vieira
d7ef22bb97 Custom pundit user 2013-07-13 05:42:34 +02:00
Brendon Murphy
7be0a890a6 Add #verify_policy_scoped for controller usage.
See the readme changes for an example.  In short, this behaves
like verify_authorized but is useful for actions that find a
collection (like index) and don't authorize instances.
2013-04-17 22:05:24 -07:00
Jonas Nicklas
12292f151f Hide authorize and verify_authorized, closes #23 2013-03-28 17:26:24 +01:00
Jonas Nicklas
b8fd37110a Add specs and dependencies 2012-11-19 13:02:42 +01:00
Jonas Nicklas
a26b3128bd Extract the actual code 2012-11-19 10:57:17 +01:00
Jonas Nicklas
1cad0b598a initial 2012-11-04 10:20:45 +01:00