Module: RubyLLM::Contract::Concerns::DeepSymbolize

Included in:
Parser, SchemaValidator::SchemaExtractor
Defined in:
lib/ruby_llm/contract/concerns/deep_symbolize.rb

Overview

Recursively converts Hash keys to symbols while preserving array shape.

Instance Method Summary collapse

Instance Method Details

#deep_symbolize(object) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/ruby_llm/contract/concerns/deep_symbolize.rb', line 8

def deep_symbolize(object)
  case object
  when Hash then symbolize_hash(object)
  when Array then object.map { |value| deep_symbolize(value) }
  else
    object
  end
end