Sha256: d9e13baefc8525d46665c0be194c21a268700494482bc3097c5a3abffa3603a9

Contents?: true

Size: 1.01 KB

Versions: 55

Compression:

Stored size: 1.01 KB

Contents

module Ddr::Auth
  module Roles
    extend ActiveSupport::Autoload
    extend Deprecation

    autoload :DetachedRoleSet
    autoload :PropertyRoleSet
    autoload :Role
    autoload :RoleSet
    autoload :RoleSetQuery
    autoload :RoleType
    autoload :RoleTypes

    include RoleTypes

    RESOURCE_SCOPE = "resource".freeze
    POLICY_SCOPE = "policy".freeze
    SCOPES = [RESOURCE_SCOPE, POLICY_SCOPE].freeze

    class << self

      def const_missing(name)
        if name == :ArrayRoleSet
          Deprecation.warn(Ddr::Auth::Roles, "`Ddr::Auth::Roles::ArrayRoleSet` is deprecated." \
                                             " Use `Ddr::Auth::Roles::DetachedRoleSet` instead.")
          DetachedRoleSet
        else
          super
        end
      end
      
      def type_map
        @type_map ||= role_types.map { |role_type| [role_type.to_s, role_type] }.to_h
      end

      def role_types
        @role_types ||= RoleTypes.constants(false).map { |const| RoleTypes.const_get(const) }
      end

    end

  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
ddr-models-2.11.0 lib/ddr/auth/roles.rb
ddr-models-2.10.2 lib/ddr/auth/roles.rb
ddr-models-2.10.1 lib/ddr/auth/roles.rb
ddr-models-2.10.0 lib/ddr/auth/roles.rb
ddr-models-2.10.0.rc2 lib/ddr/auth/roles.rb
ddr-models-2.10.0.rc1 lib/ddr/auth/roles.rb
ddr-models-2.9.2 lib/ddr/auth/roles.rb
ddr-models-2.9.1 lib/ddr/auth/roles.rb
ddr-models-2.9.0 lib/ddr/auth/roles.rb
ddr-models-2.9.0.rc1 lib/ddr/auth/roles.rb
ddr-models-2.8.0 lib/ddr/auth/roles.rb
ddr-models-2.8.0.rc1 lib/ddr/auth/roles.rb
ddr-models-2.7.6 lib/ddr/auth/roles.rb
ddr-models-2.7.5 lib/ddr/auth/roles.rb
ddr-models-2.7.4 lib/ddr/auth/roles.rb
ddr-models-2.7.3 lib/ddr/auth/roles.rb
ddr-models-2.7.2 lib/ddr/auth/roles.rb
ddr-models-2.7.1 lib/ddr/auth/roles.rb
ddr-models-2.7.0 lib/ddr/auth/roles.rb
ddr-models-2.7.0.rc1 lib/ddr/auth/roles.rb