class Miam::DSL::Context::User

Attributes

result[R]

Public Class Methods

new(context, name, &block) click to toggle source
# File lib/miam/dsl/context/user.rb, line 4
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/miam/dsl/context/user.rb, line 39
def attached_managed_policies(*policies)
  @result[:attached_managed_policies].concat(policies.map(&:to_s))
end
groups(*grps) click to toggle source
# File lib/miam/dsl/context/user.rb, line 19
def groups(*grps)
  @result[:groups].concat(grps.map(&:to_s))
end
login_profile(value) click to toggle source
# File lib/miam/dsl/context/user.rb, line 15
def login_profile(value)
  @result[:login_profile] = value
end
policy(name) { || ... } click to toggle source
# File lib/miam/dsl/context/user.rb, line 23
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
end