def role(name, options = {})
      @roles[name] = options.merge(:name => name, :is => [], :descendants => [])
      @role = InternalRole.new(name,options)
      yield if block_given?
      @role = nil
    end
def role(name, options = {})
      @roles[name] = options.merge(:name => name, :is => [], :descendants => [])
      @role = InternalRole.new(name,options)
      yield if block_given?
      @role = nil
    end
@param [File] authorization_file The authorization file which will be evaled.
 Define a new role which can be given to a user.

 @example
 role :moderator, :on => Site do
   is :user
   can :moderate, Comment
 end

 @param [Symbol] name The name of the Role.
 @param [Hash] options
 @option options [Class] :on The Role will be bound to instances of the given Class.
 @yield Defines the details of the role