class Permify::Permission::CombinationMap

Attributes

combinations[R]

Public Class Methods

new(combinations) click to toggle source
# File lib/permify/permission/combination_map.rb, line 2
def initialize(combinations)
  @combinations = combinations
end

Public Instance Methods

resolve(clearance) click to toggle source
# File lib/permify/permission/combination_map.rb, line 6
def resolve(clearance)
  permissions = list_permissions(clearance)
  Permify::Permission::Combination::Any.new(permissions)
end

Private Instance Methods

list_permissions(clearance) click to toggle source
# File lib/permify/permission/combination_map.rb, line 14
def list_permissions(clearance)
  permissions = []
  combinations.each do |resource, actions|
    [actions].flatten.each do |action|
      permissions << clearance.find(resource, action)
    end
  end
  permissions
end