module Pundit::RSpec::DSL
Mixed in to all policy example groups to provide a DSL
.
Public Instance Methods
Source
# File lib/pundit/rspec.rb, line 129 def permissions(*list, &block) metadata = { permissions: list, caller: caller } if list.last == :focus list.pop metadata[:focus] = true end description = list.to_sentence describe(description, metadata) { instance_eval(&block) } end
@example
describe PostPolicy do permissions :show?, :update? do it { is_expected.to permit(user, own_post) } end end
@example focused example group
describe PostPolicy do permissions :show?, :update?, :focus do it { is_expected.to permit(user, own_post) } end end
@param list [Symbol, Array<Symbol>] a permission to describe @return [void]