class Permify::Repository
Public Instance Methods
any(resource_class, action, combinations)
click to toggle source
Creates a permission that's granted whenever any of the combined permissions is granted
@param resource_class [Class] @param action [String, to_sym]
@return [undefined]
# File lib/permify/repository.rb, line 35 def any(resource_class, action, combinations) combination_map = Permify::Permission::CombinationMap.new(combinations) permission_combinations.store(resource_class, action, combination_map) end
dynamic(resource_class, action, *args)
click to toggle source
Define a dynamic permission
@param resource_class [Class] @param action [Symbol, String]
@return [undefined]
# File lib/permify/repository.rb, line 22 def dynamic(resource_class, action, *args) permission = Permify::Permission::Dynamic.new args.flatten permissions.store(resource_class, action, permission) end
find_permission(resource, action)
click to toggle source
Finds permission in this repository
@param resource [Class] @param action [String, to_sym]
@return permission [Permify::Permission, nil]
# File lib/permify/repository.rb, line 47 def find_permission(resource, action) permissions.find(resource, action) end
find_permission_combination(resource, action)
click to toggle source
# File lib/permify/repository.rb, line 55 def find_permission_combination(resource, action) permission_combinations.find(resource, action) end
permission_combination?(resource_class, action)
click to toggle source
# File lib/permify/repository.rb, line 51 def permission_combination?(resource_class, action) !!find_permission_combination(resource_class, action) end
static(resource_class, action)
click to toggle source
Define a static permission
@param resource_class [Class] @param action [Symbol, String]
@return [undefined]
# File lib/permify/repository.rb, line 10 def static(resource_class, action) permission = Permify::Permission::Static.new permissions.store(resource_class, action, permission) end
Protected Instance Methods
permission_combinations()
click to toggle source
# File lib/permify/repository.rb, line 65 def permission_combinations @permission_combinations ||= Permify::PermissionMap.new end
permissions()
click to toggle source
# File lib/permify/repository.rb, line 61 def permissions @permissions ||= Permify::PermissionMap.new end