class ChefFixie::AuthzMapper::ReverseMapper

Attributes

by_type[R]
instance[R]
names[R]

Public Class Methods

new() click to toggle source
# File lib/chef_fixie/authz_mapper.rb, line 62
def initialize
  # name of object map
  @names ||= {}
  @by_type ||= { :actor => {}, :container => {}, :group => {}, :object => {} }
  # maps class to a pre-created instance for efficiency
  @instance ||= {}
end

Public Instance Methods

authz_to_name(authz_id, ctype = nil) click to toggle source
# File lib/chef_fixie/authz_mapper.rb, line 83
def authz_to_name(authz_id, ctype = nil)
  types = if ctype.nil?
            AuthzUtils::TYPES
          else
            [ctype]
          end
  types.each do |type|
    by_type[type].each_pair do |name, klass|
      result = class_cache(klass).authz_to_name(authz_id)
      return result if result != :unknown
    end
  end
  :unknown
end
class_cache(klass) click to toggle source
# File lib/chef_fixie/authz_mapper.rb, line 70
def class_cache(klass)
  instance[klass] ||= klass.new
end
dump() click to toggle source
# File lib/chef_fixie/authz_mapper.rb, line 79
def dump
  pp names
end
register(klass, name, type) click to toggle source
# File lib/chef_fixie/authz_mapper.rb, line 74
def register(klass, name, type)
  names[name] = klass
  by_type[type][name] = klass
end