Class: Permify::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/permify/repository.rb

Instance Method Summary collapse

Instance Method Details

#any(resource_class, action, combinations) ⇒ undefined

Creates a permission that’s granted whenever any of the combined permissions is granted



35
36
37
38
# 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) ⇒ undefined

Define a dynamic permission



22
23
24
25
# 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) ⇒ Object

Finds permission in this repository



47
48
49
# File 'lib/permify/repository.rb', line 47

def find_permission(resource, action)
  permissions.find(resource, action)
end

#find_permission_combination(resource, action) ⇒ Object



55
56
57
# File 'lib/permify/repository.rb', line 55

def find_permission_combination(resource, action)
  permission_combinations.find(resource, action)
end

#permission_combination?(resource_class, action) ⇒ Boolean



51
52
53
# File 'lib/permify/repository.rb', line 51

def permission_combination?(resource_class, action)
  !!find_permission_combination(resource_class, action)
end

#static(resource_class, action) ⇒ undefined

Define a static permission



10
11
12
13
# File 'lib/permify/repository.rb', line 10

def static(resource_class, action)
  permission = Permify::Permission::Static.new
  permissions.store(resource_class, action, permission)
end