Sha256: 0c513660bd37ac49f07eefdc4f7382955d9ac10e42f6db65f9e623fd45963d9b

Contents?: true

Size: 452 Bytes

Versions: 3

Compression:

Stored size: 452 Bytes

Contents

module Rostra
  class Ability
    include CanCan::Ability

    attr_reader :user

    def initialize(user)
      @user = user || User.new

      if logged_in?
        can :manage, Question, :user => user
        can :manage, Answer, :user => user
        can [:vote_up, :vote_down], Question
        can [:vote_up, :vote_down], Answer
      end

      can :read, :all
    end

    private

    def logged_in?
      ! user.new_record?
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rostra-0.0.3 app/models/rostra/ability.rb
rostra-0.0.2 app/models/rostra/ability.rb
rostra-0.0.1 app/models/rostra/ability.rb