Sha256: a88f013521c9dae08d97128fa61b395611c4736bec260d0a78bf17daf8cca81f

Contents?: true

Size: 621 Bytes

Versions: 1

Compression:

Stored size: 621 Bytes

Contents

# frozen_string_literal: true

module JSI
  module Schema::Application::InplaceApplication::Ref
    # @private
    def internal_applicate_ref(instance, visited_refs, throw_done: false, &block)
      if keyword?('$ref') && schema_content['$ref'].respond_to?(:to_str)
        ref = jsi_memoize(:ref) { Schema::Ref.new(schema_content['$ref'], self) }
        unless visited_refs.include?(ref)
          ref.deref_schema.each_inplace_applicator_schema(instance, visited_refs: visited_refs + [ref], &block)
          if throw_done
            throw(:jsi_application_done)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jsi-0.7.0 lib/jsi/schema/application/inplace_application/ref.rb