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 |
