Sha256: f181697f42b36086c980f675a761d4265a265a3fc421ec0926ad9a3b75891488

Contents?: true

Size: 294 Bytes

Versions: 7

Compression:

Stored size: 294 Bytes

Contents

# frozen_string_literal: true

module JSONSchemer
  class CachedRefResolver
    def initialize(&ref_resolver)
      @ref_resolver = ref_resolver
      @cache = {}
    end

    def call(uri)
      @cache[uri] = @ref_resolver.call(uri) unless @cache.key?(uri)
      @cache[uri]
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
json_schemer-0.2.1 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.2.0 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.1.10 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.1.9 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.1.8 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.1.7 lib/json_schemer/cached_ref_resolver.rb
json_schemer-0.1.6 lib/json_schemer/cached_ref_resolver.rb