Sha256: 7202460e1a51040158a728aeb4da7fb13d9b8d6347ab9c2049877d3dd9f2708c

Contents?: true

Size: 736 Bytes

Versions: 4

Compression:

Stored size: 736 Bytes

Contents

module Sufia
  module Ability
    extend ActiveSupport::Concern
    included do
      self.ability_logic += [:sufia_abilities]
    end

    def sufia_abilities
      generic_file_abilities
      featured_work_abilities
      editor_abilities
      stats_abilities
    end

    def featured_work_abilities
      can [:create, :destroy, :update], FeaturedWork if user_groups.include? 'admin'
    end

    def generic_file_abilities
      can :create, GenericFile if user_groups.include? 'registered'
    end

    def editor_abilities
      if user_groups.include? 'admin'
        can :create, TinymceAsset
        can :update, ContentBlock
      end
    end

    def stats_abilities
      alias_action :stats, to: :read
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
sufia-4.0.0.beta2 sufia-models/lib/sufia/ability.rb
sufia-models-4.0.0.beta2 lib/sufia/ability.rb
sufia-4.0.0.beta1 sufia-models/lib/sufia/ability.rb
sufia-models-4.0.0.beta1 lib/sufia/ability.rb