Sha256: a0509b0080a2e725faf4bb52dac8ee942192f1b1c5ea518a1fbfa3b12a3a8274
Contents?: true
Size: 521 Bytes
Versions: 1
Compression:
Stored size: 521 Bytes
Contents
# frozen_string_literal: true module RbacSystem class Authorization def initialize(admin, resource, action) @admin = admin @resource = resource @action = action end def authorized? roles.each do |role| return true if role_authorized?(role) end false end private def roles @admin.roles end def role_authorized?(role) role.permissions[@resource]&.key?(@action) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rbac_system-0.1.0 | lib/rbac_system/authorization.rb |