Module: PunditImplications

Defined in:
lib/pundit_implications.rb

Overview

A small mixin for handling permission implications for Pundit policy classes

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
# File 'lib/pundit_implications.rb', line 3

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#grant(permission) ⇒ Object

Grants additional permissions with all implications



8
9
10
11
# File 'lib/pundit_implications.rb', line 8

def grant(permission)
  @_granted ||= []
  @_granted |= implied_permissions(permission)
end

#grant_allObject

Grants all possible permissions



14
15
16
# File 'lib/pundit_implications.rb', line 14

def grant_all
  @_granted = all_permissions
end

#granted_listObject

List all granted permissions



19
20
21
# File 'lib/pundit_implications.rb', line 19

def granted_list
  defined?(@_granted) ? @_granted.sort : []
end