Sha256: bc8d600bbe2c5e372e94d943ac8433872181c66a8d1810deb2b2d251fbf5c93a

Contents?: true

Size: 1.24 KB

Versions: 18

Compression:

Stored size: 1.24 KB

Contents

class Ability
  include CanCan::Ability

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

    if user.admin?
      can :manage, :all
    else
      can [:read, :update], User, id: user.id
    end

    # No one can destroy themselves.
    cannot :destroy, User, id: user.id


    # Define abilities for the passed in user here. For example:
    #
    #   user ||= User.new # guest user (not logged in)
    #   if user.admin?
    #     can :manage, :all
    #   else
    #     can :read, :all
    #   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
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
raygun-0.0.34 rails_32/app/models/ability.rb
raygun-0.0.34.pre2 rails_32/app/models/ability.rb
raygun-0.0.33 rails_32/app/models/ability.rb
raygun-0.0.32 rails_32/app/models/ability.rb
raygun-0.0.31 rails_32/app/models/ability.rb
raygun-0.0.30 rails_32/app/models/ability.rb
raygun-0.0.29 rails_32/app/models/ability.rb
raygun-0.0.28 rails_32/app/models/ability.rb
raygun-0.0.27 app_prototype/app/models/ability.rb
raygun-0.0.26 app_prototype/app/models/ability.rb
raygun-0.0.25 app_prototype/app/models/ability.rb
raygun-0.0.24 app_prototype/app/models/ability.rb
raygun-0.0.23 app_prototype/app/models/ability.rb
raygun-0.0.22 app_prototype/app/models/ability.rb
raygun-0.0.21 app_prototype/app/models/ability.rb
raygun-0.0.18 app_prototype/app/models/ability.rb
raygun-0.0.17 app_prototype/app/models/ability.rb
raygun-0.0.16 app_prototype/app/models/ability.rb