Report abuse


			
class Role < ActiveRecord::Base
  has_and_belongs_to_many :permissions
  has_many :users

  validates_presence_of :title 

  # Setup caches for the roles so we don't pull them so often
  @@roles_by_string = {}
  @@roles_by_id = {}

  # bit of sugar for looking up roles - use as Role['Member'] or Role[2]
  def self.[](key)
    return @@roles_by_string[key] ||= find_by_title(key) if key.is_a?(String)
    @@roles_by_id[key] ||= find_by_id(key) if key.is_a?(Integer)
  end

end