Sha256: 67955ea4c54dfdc52b437b8ae774595588b83d3cb44a358f1ff9cb21e1b9f5a9
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# Defines sets of privileges # # To create a new set: PrivilegeSet.add :set_name, "Some comment on what this # set does" # # To retrieve a privilegeset, use the sets attribute. This is a Hash containing # PrivilegeSetRecords. Usage: PrivilegeSet.sets(:set_name). If the PrivilegeSet # already exists, an ArgumentError is thrown stating the set was already # defined. class Cbac::PrivilegeSet class << self # Hash containing all the PrivilegeSetRecords attr_reader :sets # Create a new PrivilegeSet def add(symbol, comment) # initialize variables (if applicable) @sets = Hash.new if @sets.nil? # check for double creation raise ArgumentError, "CBAC: PrivilegeSet was already defined: #{symbol.to_s}" if @sets.include?(symbol) # Create record if privilegeset doesn't exist Cbac::PrivilegeSetRecord.create(:name => symbol.to_s) if Cbac::PrivilegeSetRecord.find(:first, :conditions => ["name = ?", symbol.to_s]).nil? record = Cbac::PrivilegeSetRecord.find(:first, :conditions => ["name = ?", symbol.to_s]) record.comment = comment @sets[symbol] = record end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cbac-0.3.1 | lib/cbac/privilege_set.rb |