Sha256: a68009c4f3d7b301796135c9187b72f8a2d25e3810e778c90638343b8cadfbb1

Contents?: true

Size: 481 Bytes

Versions: 23

Compression:

Stored size: 481 Bytes

Contents

require "pundit"

module Plutonium
  module Pundit
    class PolicyFinder < ::Pundit::PolicyFinder
      def initialize(*, package:)
        super(*)
        @package = package
      end

      attr_reader :package

      def policy
        policy_internal([package, object]) || policy_internal(object)
      end

      private

      def policy_internal(object)
        klass = find(object)
        klass.is_a?(String) ? klass.safe_constantize : klass
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
plutonium-0.14.1 lib/plutonium/pundit/policy_finder.rb
plutonium-0.14.0 lib/plutonium/pundit/policy_finder.rb
plutonium-0.13.3 lib/plutonium/pundit/policy_finder.rb
plutonium-0.13.2 lib/plutonium/pundit/policy_finder.rb
plutonium-0.13.1 lib/plutonium/pundit/policy_finder.rb
plutonium-0.13.0 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.14 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.13 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.12 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.11 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.10 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.9 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.8 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.7 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.5 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.4 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.3 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.2 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.1 lib/plutonium/pundit/policy_finder.rb
plutonium-0.12.0 lib/plutonium/pundit/policy_finder.rb