Sha256: bd08764c92d7abcec1144ca9bf9d2c29a6f2d333d912203a9e3572e338115632
Contents?: true
Size: 748 Bytes
Versions: 3
Compression:
Stored size: 748 Bytes
Contents
class Miam::DSL::Context::Group def initialize(name, &block) @group_name = name @result = {:policies => {}, :attached_managed_policies => []} instance_eval(&block) end attr_reader :result private def policy(name) name = name.to_s if @result[:policies][name] raise "Group `#{@group_name}` > Policy `#{name}`: already defined" end policy_document = yield unless policy_document.kind_of?(Hash) raise "Group `#{@group_name}` > Policy `#{name}`: wrong argument type #{policy_document.class} (expected Hash)" end @result[:policies][name] = policy_document end def attached_managed_policies(*policies) @result[:attached_managed_policies].concat(policies.map(&:to_s)) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
miam-0.2.2.beta | lib/miam/dsl/context/group.rb |
miam-0.2.1 | lib/miam/dsl/context/group.rb |
miam-0.2.1.beta2 | lib/miam/dsl/context/group.rb |