Sha256: 9622cd623bf8a1d9fb1340d6f56992b78fa4fb95e3f32ae6dbd2ef900d7e6656

Contents?: true

Size: 677 Bytes

Versions: 14

Compression:

Stored size: 677 Bytes

Contents

module Godmin
  module Authorization
    class PolicyFinder
      class << self
        def find(object)
          klass =
            if object.respond_to?(:model_name)
              object.model_name
            elsif object.class.respond_to?(:model_name)
              object.class.model_name
            elsif object.is_a?(Class)
              object
            elsif object.is_a?(Symbol)
              object.to_s.classify
            else
              object.class
            end

          if Godmin.namespace
            "#{Godmin.namespace.classify}::#{klass}Policy"
          else
            "#{klass}Policy"
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
godmin-0.10.3 lib/godmin/authorization/policy_finder.rb
godmin-0.10.2 lib/godmin/authorization/policy_finder.rb
godmin-0.10.1 lib/godmin/authorization/policy_finder.rb
godmin-0.10.0 lib/godmin/authorization/policy_finder.rb
godmin-0.9.9 lib/godmin/authorization/policy_finder.rb
godmin-0.9.8 lib/godmin/authorization/policy_finder.rb
godmin-0.9.7 lib/godmin/authorization/policy_finder.rb
godmin-0.9.6 lib/godmin/authorization/policy_finder.rb
godmin-0.9.5 lib/godmin/authorization/policy_finder.rb
godmin-0.9.4 lib/godmin/authorization/policy_finder.rb
godmin-0.9.3 lib/godmin/authorization/policy_finder.rb
godmin-0.9.2 lib/godmin/authorization/policy_finder.rb
godmin-0.9.1 lib/godmin/authorization/policy_finder.rb
godmin-0.9.0 lib/godmin/authorization/policy_finder.rb