Sha256: 3523c57c0476263470c3ebeffcd7872c6b7b914df3af80d6842c5fa01165dd2e
Contents?: true
Size: 747 Bytes
Versions: 20
Compression:
Stored size: 747 Bytes
Contents
# frozen_string_literal: true module JSI module Schema::Application::ChildApplication::Contains # @private def internal_applicate_contains(idx, instance, &block) if keyword?('contains') contains_schema = subschema(['contains']) child_idx_valid = Hash.new { |h, i| h[i] = contains_schema.instance_valid?(instance[i]) } if child_idx_valid[idx] yield contains_schema else instance_valid = instance.each_index.any? { |i| child_idx_valid[i] } unless instance_valid # invalid application: if contains_schema does not validate against any child, it applies to every child yield contains_schema end end end end end end
Version data entries
20 entries across 20 versions & 2 rubygems