Sha256: acdcc938d21372bd5abdd4cb8db1a24a390c0c8167ddc1551c42086bcf694ebf

Contents?: true

Size: 709 Bytes

Versions: 10

Compression:

Stored size: 709 Bytes

Contents

# frozen_string_literal: true
module Decidim
  module Admin
    module Abilities
      # Defines the abilities for a user in the admin section. Intended to be
      # used with `cancancan`. Extended by both the base `Decidim::Ability`
      # class and other engine-only abilities, like the
      # `ParticipatoryProcessAdmin` ability class.
      class Base
        include CanCan::Ability

        def initialize(user, context)
          merge ::Decidim::Ability.new(user, context)
          merge ParticipatoryProcessAdmin.new(user, context)

          Decidim.admin_abilities.each do |ability|
            merge ability.constantize.new(user, context)
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
decidim-admin-0.1.0 app/models/decidim/admin/abilities/base.rb
decidim-0.1.0 decidim-admin/app/models/decidim/admin/abilities/base.rb
decidim-admin-0.0.8.1 app/models/decidim/admin/abilities/base.rb
decidim-0.0.8.1 decidim-admin/app/models/decidim/admin/abilities/base.rb
decidim-admin-0.0.7 app/models/decidim/admin/abilities/base.rb
decidim-0.0.7 decidim-admin/app/models/decidim/admin/abilities/base.rb
decidim-admin-0.0.6 app/models/decidim/admin/abilities/base.rb
decidim-0.0.6 decidim-admin/app/models/decidim/admin/abilities/base.rb
decidim-admin-0.0.5 app/models/decidim/admin/abilities/base.rb
decidim-0.0.5 decidim-admin/app/models/decidim/admin/abilities/base.rb