Sha256: 987cd68f6efde84aa081c5a15827e9af5db4b6deedc5fae6bb56e682ba6723fa

Contents?: true

Size: 1.23 KB

Versions: 37

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require "action_view/template/resolver"

module ActionView #:nodoc:
  # Use FixtureResolver in your tests to simulate the presence of files on the
  # file system. This is used internally by Rails' own test suite, and is
  # useful for testing extensions that have no way of knowing what the file
  # system will look like at runtime.
  class FixtureResolver < OptimizedFileSystemResolver
    def initialize(hash = {})
      super("")
      @hash = hash
      @path = ""
    end

    def data
      @hash
    end

    def to_s
      @hash.keys.join(", ")
    end

    private
      def find_candidate_template_paths(path)
        @hash.keys.select do |fixture|
          fixture.start_with?(path.virtual)
        end.map do |fixture|
          "/#{fixture}"
        end
      end

      def source_for_template(template)
        @hash[template[1..template.size]]
      end
  end

  class NullResolver < PathResolver
    def query(path, exts, _, locals, cache:)
      handler, format, variant = extract_handler_and_format_and_variant(path)
      [ActionView::Template.new("Template generated by Null Resolver", path.virtual, handler, virtual_path: path.virtual, format: format, variant: variant, locals: locals)]
    end
  end
end

Version data entries

37 entries across 37 versions & 4 rubygems

Version Path
actionview-6.1.7.10 lib/action_view/testing/resolvers.rb
actionview-6.1.7.9 lib/action_view/testing/resolvers.rb
actionview-6.1.7.8 lib/action_view/testing/resolvers.rb
actionview-6.1.7.7 lib/action_view/testing/resolvers.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/actionview-6.1.6.1/lib/action_view/testing/resolvers.rb
actionview-6.1.7.6 lib/action_view/testing/resolvers.rb
actionview-6.1.7.5 lib/action_view/testing/resolvers.rb
actionview-6.1.7.4 lib/action_view/testing/resolvers.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/actionview-6.1.6.1/lib/action_view/testing/resolvers.rb
actionview-6.1.7.3 lib/action_view/testing/resolvers.rb
actionview-6.1.7.2 lib/action_view/testing/resolvers.rb
actionview-6.1.7.1 lib/action_view/testing/resolvers.rb
actionview-6.1.7 lib/action_view/testing/resolvers.rb
actionview-6.1.6.1 lib/action_view/testing/resolvers.rb
actionview-6.1.6 lib/action_view/testing/resolvers.rb
actionview-6.1.5.1 lib/action_view/testing/resolvers.rb
actionview-6.1.5 lib/action_view/testing/resolvers.rb
actionview-6.1.4.7 lib/action_view/testing/resolvers.rb
actionview-6.1.4.6 lib/action_view/testing/resolvers.rb
actionview-6.1.4.5 lib/action_view/testing/resolvers.rb