class Plat::Role::Basic

Attributes

layout[R]
options[R]
role[R]

Public Class Methods

new(layout,role,options) click to toggle source
# File lib/plat/role/basic.rb, line 12
def initialize(layout,role,options)
  @layout = layout
  @role = role
  @options = options.
              merge(Hash(options[:default])).
              merge(Hash(options["default"])).
              merge(Hash(options[env.to_sym])).
              merge(Hash(options[env.to_s]))
end

Public Instance Methods

allow_access(policy,access_type) click to toggle source
# File lib/plat/role/basic.rb, line 43
def allow_access(policy,access_type)
  # TODO
  # policy.allow
end
count() click to toggle source
# File lib/plat/role/basic.rb, line 21
def count
  @count ||= begin
    value = options.fetch(:count) { 1 }.to_i
    raise ArgumentError.new "Wrong count for role #{@role}: #{options[:count]}" if value < 1
    value
  end
end
inspect() click to toggle source
# File lib/plat/role/basic.rb, line 36
def inspect
  "<#{self.class} role='#{self.role}'>"
end
resource_name(id=0) click to toggle source
# File lib/plat/role/basic.rb, line 32
def resource_name(id=0)
  layout.aws_resource_name(role,id)
end
to_s() click to toggle source
# File lib/plat/role/basic.rb, line 39
def to_s
  { role => Hash(options) }.to_s
end
type() click to toggle source
# File lib/plat/role/basic.rb, line 28
def type
  Plat::Role.registered_types.find(->{[nil]}) { |elem| elem[1] == self.class }.first
end