Sha256: ad419bda9611df317402e579e3ebcfa558883ba3a5d42b2fe800be2c85ba738b

Contents?: true

Size: 510 Bytes

Versions: 30

Compression:

Stored size: 510 Bytes

Contents

module Rostra
  class Ability
    include CanCan::Ability

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

      if @user.can_participate_in_rostra?
        can :manage, Question, :user => user
        can :manage, Answer, :user => user
        can :manage, Comment, :user => user

        can [:vote, :toggle_following], Question
        cannot :vote, Question, :user => user

        can [:vote], Answer
        cannot :vote, Answer, :user => user
      end

      can :read, :all
    end

  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
rostra-0.1.14 app/models/rostra/ability.rb
rostra-0.1.13 app/models/rostra/ability.rb
rostra-0.1.12 app/models/rostra/ability.rb
rostra-0.1.10 app/models/rostra/ability.rb
rostra-0.1.9 app/models/rostra/ability.rb
rostra-0.1.8 app/models/rostra/ability.rb
rostra-0.1.7 app/models/rostra/ability.rb
rostra-0.1.6 app/models/rostra/ability.rb
rostra-0.1.5 app/models/rostra/ability.rb
rostra-0.1.4 app/models/rostra/ability.rb