Sha256: 18c9800a6cef3d1b6ab5c8b38119a739f2b5f167d81c6593894fc2e6d82e6b08

Contents?: true

Size: 501 Bytes

Versions: 6

Compression:

Stored size: 501 Bytes

Contents

# frozen_string_literal: true

module EacRailsBase0
  class Ability
    include CanCan::Ability

    def initialize(user)
      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
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
eac_rails_base0-0.5.0 lib/eac_rails_base0/ability.rb
eac_rails_base0-0.4.0 lib/eac_rails_base0/ability.rb
eac_rails_base0-0.3.1 lib/eac_rails_base0/ability.rb
eac_rails_base0-0.3.0 lib/eac_rails_base0/ability.rb
eac_rails_base0-0.2.2 lib/eac_rails_base0/ability.rb
eac_rails_base0-0.2.1 lib/eac_rails_base0/ability.rb