def initialize (reader = nil)
reader = Reader::DSLReader.factory(reader || AUTH_DSL_FILES)
@privileges = reader.privileges_reader.privileges
@privilege_hierarchy = reader.privileges_reader.privilege_hierarchy
@auth_rules = reader.auth_rules_reader.auth_rules
@roles = reader.auth_rules_reader.roles
@omnipotent_roles = reader.auth_rules_reader.omnipotent_roles
@role_hierarchy = reader.auth_rules_reader.role_hierarchy
@role_titles = reader.auth_rules_reader.role_titles
@role_descriptions = reader.auth_rules_reader.role_descriptions
@reader = reader
@rev_priv_hierarchy = {}
@privilege_hierarchy.each do |key, value|
value.each do |val|
@rev_priv_hierarchy[val] ||= []
@rev_priv_hierarchy[val] << key
end
end
@rev_role_hierarchy = {}
@role_hierarchy.each do |higher_role, lower_roles|
lower_roles.each do |role|
(@rev_role_hierarchy[role] ||= []) << higher_role
end
end
end