Sha256: ccb95964e71f47f8e3505db7c45b44b2bafa407beb253521aedf463323449b39

Contents?: true

Size: 554 Bytes

Versions: 17

Compression:

Stored size: 554 Bytes

Contents

module Ddr
  module Managers
    class RoleManager

      attr_reader :object

      def initialize(object)
        @object = object
      end

      def principal_has_role?(principal, role)
        ( principals(role) & Array(principal) ).any?
      end

      def principals(role)
        object.adminMetadata.send(role)
      end

      def method_missing(method, *args)
        if args.size == 0
          begin 
            return principals(method)
          rescue NoMethodError
          end
        end
        super
      end

    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ddr-models-1.11.8 lib/ddr/managers/role_manager.rb
ddr-models-1.12.3 lib/ddr/managers/role_manager.rb
ddr-models-1.11.7 lib/ddr/managers/role_manager.rb
ddr-models-1.12.2 lib/ddr/managers/role_manager.rb
ddr-models-1.11.6 lib/ddr/managers/role_manager.rb
ddr-models-1.12.1 lib/ddr/managers/role_manager.rb
ddr-models-1.11.5 lib/ddr/managers/role_manager.rb
ddr-models-1.12.0 lib/ddr/managers/role_manager.rb
ddr-models-1.11.4 lib/ddr/managers/role_manager.rb
ddr-models-1.11.3 lib/ddr/managers/role_manager.rb
ddr-models-1.11.2 lib/ddr/managers/role_manager.rb
ddr-models-1.11.1 lib/ddr/managers/role_manager.rb
ddr-models-1.11.0 lib/ddr/managers/role_manager.rb
ddr-models-1.10.0 lib/ddr/managers/role_manager.rb
ddr-models-1.9.0 lib/ddr/managers/role_manager.rb
ddr-models-1.8.1 lib/ddr/managers/role_manager.rb
ddr-models-1.8.0 lib/ddr/managers/role_manager.rb