mirror of
https://github.com/varvet/pundit.git
synced 2022-11-09 12:30:11 -05:00
NotAuthorizedError can be initialized with a string
This commit is contained in:
parent
582ee78c2b
commit
1723a1b038
2 changed files with 15 additions and 4 deletions
|
@ -14,11 +14,15 @@ module Pundit
|
|||
attr_reader :query, :record, :policy
|
||||
|
||||
def initialize(options = {})
|
||||
@query = options[:query]
|
||||
@record = options[:record]
|
||||
@policy = options[:policy]
|
||||
if options.is_a? String
|
||||
message = options
|
||||
else
|
||||
@query = options[:query]
|
||||
@record = options[:record]
|
||||
@policy = options[:policy]
|
||||
|
||||
message = options.fetch(:message) { "not allowed to #{query} this #{record.inspect}" }
|
||||
message = options.fetch(:message) { "not allowed to #{query} this #{record.inspect}" }
|
||||
end
|
||||
|
||||
super(message)
|
||||
end
|
||||
|
|
|
@ -344,4 +344,11 @@ describe Pundit do
|
|||
expect(Controller.new(double, params).permitted_attributes(post)).to eq({ 'votes' => 5 })
|
||||
end
|
||||
end
|
||||
|
||||
describe "Pundit::NotAuthorizedError" do
|
||||
it "can be initialized with a string as message" do
|
||||
error = Pundit::NotAuthorizedError.new("must be logged in")
|
||||
expect(error.message).to eq "must be logged in"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue