diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/inboxes/ability.rb | 24 | ||||
| -rw-r--r-- | lib/inboxes/engine.rb | 5 | 
2 files changed, 29 insertions, 0 deletions
| diff --git a/lib/inboxes/ability.rb b/lib/inboxes/ability.rb new file mode 100644 index 0000000..18fca88 --- /dev/null +++ b/lib/inboxes/ability.rb @@ -0,0 +1,24 @@ +module Inboxes +  class InboxesAbility +    include CanCan::Ability + +    def initialize(user) +      # Discussion +      can [:index, :create], Discussion +      can :read, Discussion do |discussion| +        discussion.can_participate?(user) +      end +       +      # Message +      # can :create, Message do |message| +      #   message.discussion.can_participate?(user) +      # end +      #  +      # # Speaker +      # can [:create, :destroy], Speaker do |speaker| +      #   speaker.discussion.can_participate?(user) +      # end +    end +  end +   +end
\ No newline at end of file diff --git a/lib/inboxes/engine.rb b/lib/inboxes/engine.rb index 061694e..4395cde 100644 --- a/lib/inboxes/engine.rb +++ b/lib/inboxes/engine.rb @@ -1,4 +1,9 @@ +require "inboxes/ability" +  module Inboxes    class Engine < ::Rails::Engine +    def self.activate +      Ability.register_ability(InboxesAbility) +    end    end  end
\ No newline at end of file | 
