class Subiam::DSL::Context::User
Attributes
result[R]
Public Class Methods
new(context, name, &block)
click to toggle source
# File lib/subiam/dsl/context/user.rb, line 5 def initialize(context, name, &block) @user_name = name @context = context.merge(:user_name => name) @result = {:groups => [], :policies => {}, :attached_managed_policies => []} instance_eval(&block) end
Private Instance Methods
attached_managed_policies(*policies)
click to toggle source
# File lib/subiam/dsl/context/user.rb, line 40 def attached_managed_policies(*policies) @result[:attached_managed_policies].concat(policies.map(&:to_s)) end
groups(*grps)
click to toggle source
# File lib/subiam/dsl/context/user.rb, line 20 def groups(*grps) @result[:groups].concat(grps.map(&:to_s)) end
login_profile(value)
click to toggle source
# File lib/subiam/dsl/context/user.rb, line 16 def login_profile(value) @result[:login_profile] = value end
policy(name) { || ... }
click to toggle source
# File lib/subiam/dsl/context/user.rb, line 24 def policy(name) name = name.to_s if @result[:policies][name] raise "User `#{@user_name}` > Policy `#{name}`: already defined" end policy_document = yield unless policy_document.kind_of?(Hash) raise "User `#{@user_name}` > Policy `#{name}`: wrong argument type #{policy_document.class} (expected Hash)" end @result[:policies][name] = policy_document.keys_to_s_recursive end