Sha256: a955ecaba26ebe3193ed17911f6090d93ac9c9dcac6d9d9000b36689d9f384d3

Contents?: true

Size: 516 Bytes

Versions: 3

Compression:

Stored size: 516 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 [:new, :vote], Answer
        cannot :vote, Answer, :user => user
      end

      can :read, :all
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rostra-0.1.3 app/models/rostra/ability.rb
rostra-0.1.2 app/models/rostra/ability.rb
rostra-0.1.1 app/models/rostra/ability.rb