Sha256: 658e8ad2a4f9bb93430a7a57a3f6bbeeb0f5e1c03c27a7a97e2a4b3ebd965202

Contents?: true

Size: 754 Bytes

Versions: 10

Compression:

Stored size: 754 Bytes

Contents

# frozen_string_literal: true

module EacRailsBase0
  module AppBase
    class Ability
      include CanCan::Ability

      def initialize(user)
        as_action_aliases
        user ||= ::EacUsersSupport::User.new
        devise_rules(user)
        administrator_rules(user)
      end

      def devise_rules(user)
        can :destroy, 'Devise::Session' unless user.new_record?
        can :create, 'Devise::Session'
      end

      def administrator_rules(user)
        return unless user.administrator?

        can :manage, ::EacUsersSupport::User
        can :manage, ::Aranha::Address
        can :manage, ::BrRailties::FederalUnit
        can :manage, ::BrRailties::Municipality
        can :manage, ::ScheduledTask
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
eac_rails_base0-0.29.3 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.29.2 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.29.1 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.29.0 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.28.3 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.28.2 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.28.1 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.28.0 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.27.0 lib/eac_rails_base0/app_base/ability.rb
eac_rails_base0-0.26.0 lib/eac_rails_base0/app_base/ability.rb