Sha256: 45c3dc5c127b7d2cadda16c80554beaca369d4edde9dce03d76566ae739fb0ab

Contents?: true

Size: 578 Bytes

Versions: 5

Compression:

Stored size: 578 Bytes

Contents

module SocialStream
  class Ability
    include CanCan::Ability

    def initialize(user)
      can :create, Activity do |a|
        # All ties' authors must be the user
        a.tie.receiver_subject == user &&
          a.tie.allows?(user, 'create', 'activity')
      end

      can :read, Activity do |a|
        a.tie.allows?(user, 'read', 'activity')
      end

      can :update, Activity do |a|
        a.tie.allows?(user, 'update', 'activity')
      end

      can :destroy, Activity do |a|
        a.tie.allows?(user, 'destroy', 'activity')
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
social_stream-0.3.6 lib/social_stream/ability.rb
social_stream-0.3.5 lib/social_stream/ability.rb
social_stream-0.3.4 lib/social_stream/ability.rb
social_stream-0.3.3 lib/social_stream/ability.rb
social_stream-0.3.2 lib/social_stream/ability.rb