Module: Liminal::Openapi::ExampleOverrides

Defined in:
lib/liminal/openapi/example_overrides.rb

Class Method Summary collapse

Class Method Details

.call(examples:, overrides:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/liminal/openapi/example_overrides.rb', line 8

def call(examples:, overrides:)
  validate_hash!(examples, :examples)
  validate_hash!(overrides, :overrides)

  normalized_examples = normalize_paths(examples, :examples)
  normalized_overrides = normalize_paths(overrides, :overrides) do |path, fragment|
    unless fragment.is_a?(Hash)
      raise InvalidOverrideFragment,
            "Override at #{path.inspect} must be a Hash; received #{fragment.class}."
    end
  end

  merge(normalized_examples, normalized_overrides)
end