class Ability

Public Class Methods

new(user) click to toggle source
# File app/models/ability.rb, line 4
def initialize(user)
  # Define abilities for the passed in user here. For example:

  #

    user ||= User.new # guest user (not logged in)

    if user.has_role? :admin
      can :manage, :all
    else
      can :read, :all
    end

  can :manage_settings, User do |viewed_user|
    viewed_user.present? && user.id == viewed_user.id
  end
  #

  # The first argument to `can` is the action you are giving the user 

  # permission to do.

  # If you pass :manage it will apply to every action. Other common actions

  # here are :read, :create, :update and :destroy.

  #

  # The second argument is the resource the user can perform the action on. 

  # If you pass :all it will apply to every resource. Otherwise pass a Ruby

  # class of the resource.

  #

  # The third argument is an optional hash of conditions to further filter the

  # objects.

  # For example, here the user can only update published articles.

  #

  #   can :update, Article, :published => true

  #

  # See the wiki for details:

  # https://github.com/ryanb/cancan/wiki/Defining-Abilities

 
end