Sha256: 8df02ac5cb15973b1f7f4c778e3a7129fce9d3d0f36c398c206bcb71c0777450
Contents?: true
Size: 740 Bytes
Versions: 22
Compression:
Stored size: 740 Bytes
Contents
require "set" module Ufo::IamRole class Registry class_attribute :policies self.policies = {} class_attribute :managed_policies self.managed_policies = {} class << self def register_policy(role_type, policy_name, *statements) statements.flatten! self.policies[role_type] ||= Set.new self.policies[role_type].add([policy_name, statements]) # using set so DSL can safely be evaluated multiple times end def register_managed_policy(role_type, *policies) policies.flatten! self.managed_policies[role_type] ||= Set.new self.managed_policies[role_type].merge(policies) # using set so DSL can safely be evaluated multiple times end end end end
Version data entries
22 entries across 22 versions & 1 rubygems