Sha256: 75836c9e4d31ce953ec437b9b1827571062ccf9b4a14b934b15cb82fc7e86c9d

Contents?: true

Size: 1.16 KB

Versions: 10

Compression:

Stored size: 1.16 KB

Contents

module Godmin
  class Resolver < ::ActionView::FileSystemResolver
    attr_accessor :namespace, :controller_name

    def find_templates(name, prefix, partial, details)
      template = []

      template_paths(prefix, partial).each do |path|
        template = super(name, path, partial, details)

        if template.present?
          break
        end
      end

      template
    end

    def template_paths(prefix, _partial)
      [
        [namespace, controller_name, prefix],
        [namespace, controller_name],
        [namespace, prefix],
        [namespace, "resource", prefix],
        [namespace, "resource"],
        [namespace]
      ].map { |path| path.compact.join("/") }.compact
    end
  end

  class EngineResolver < Resolver
    def initialize(controller_name)
      super [Godmin.namespace, "app/views"].compact.join("/")
      self.namespace       = Godmin.namespace
      self.controller_name = controller_name
    end
  end

  class GodminResolver < Resolver
    def initialize(controller_name)
      super [Godmin::Engine.root, "app/views"].compact.join("/")
      self.namespace       = "godmin"
      self.controller_name = controller_name
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
godmin-0.9.9 lib/godmin/resolver.rb
godmin-0.9.8 lib/godmin/resolver.rb
godmin-0.9.7 lib/godmin/resolver.rb
godmin-0.9.6 lib/godmin/resolver.rb
godmin-0.9.5 lib/godmin/resolver.rb
godmin-0.9.4 lib/godmin/resolver.rb
godmin-0.9.3 lib/godmin/resolver.rb
godmin-0.9.2 lib/godmin/resolver.rb
godmin-0.9.1 lib/godmin/resolver.rb
godmin-0.9.0 lib/godmin/resolver.rb