Class: Parse::Embeddings::ProviderRegistry

Inherits:
Hash
  • Object
show all
Defined in:
lib/parse/embeddings.rb

Overview

Hash subclass that enforces Provider membership at assignment time. Without this, configuration.providers[:openai] = "anything" would silently bypass register's type-check and let a duck-typed object skip Parse::Embeddings::Provider#validate_response! — defeating the whole boundary contract.

Instance Method Summary collapse

Methods inherited from Hash

#parse_file?, #parse_object

Instance Method Details

#[]=(name, provider) ⇒ Object Also known as: store



127
128
129
130
131
132
133
134
# File 'lib/parse/embeddings.rb', line 127

def []=(name, provider)
  unless provider.is_a?(Provider)
    raise ArgumentError,
          "Parse::Embeddings::ProviderRegistry: #{name.inspect} expects a " \
          "Parse::Embeddings::Provider instance (got #{provider.class})."
  end
  super(name.to_sym, provider)
end