Module: PromptBuilder::Serializers

Defined in:
lib/prompt_builder/serializers.rb,
lib/prompt_builder/serializers/base.rb,
lib/prompt_builder/serializers/gemini.rb,
lib/prompt_builder/serializers/converse.rb,
lib/prompt_builder/serializers/messages.rb,
lib/prompt_builder/serializers/gemini/request.rb,
lib/prompt_builder/serializers/open_responses.rb,
lib/prompt_builder/serializers/chat_completion.rb,
lib/prompt_builder/serializers/gemini/response.rb,
lib/prompt_builder/serializers/converse/request.rb,
lib/prompt_builder/serializers/messages/request.rb,
lib/prompt_builder/serializers/converse/response.rb,
lib/prompt_builder/serializers/messages/response.rb,
lib/prompt_builder/serializers/open_responses/request.rb,
lib/prompt_builder/serializers/chat_completion/request.rb,
lib/prompt_builder/serializers/open_responses/response.rb,
lib/prompt_builder/serializers/chat_completion/response.rb

Defined Under Namespace

Classes: Base, ChatCompletion, Converse, Gemini, Messages, OpenResponses

Constant Summary collapse

ALIASES =

Mapping of shorthand symbols to serializer classes.

{
  chat_completion: ChatCompletion,
  converse: Converse,
  gemini: Gemini,
  messages: Messages,
  open_responses: OpenResponses
}.freeze

Class Method Summary collapse

Class Method Details

.resolve(serializer) ⇒ Class

Resolve a serializer class from a symbol or class reference.

Parameters:

  • serializer (Class, Symbol)

    a serializer class or a symbol shorthand (:open_responses, :chat_completion, :messages, :gemini, :converse)

Returns:

  • (Class)

    the resolved serializer class

Raises:

  • (ArgumentError)

    if a symbol is given that does not map to a known serializer



27
28
29
30
31
32
33
# File 'lib/prompt_builder/serializers.rb', line 27

def self.resolve(serializer)
  return serializer unless serializer.is_a?(Symbol)

  ALIASES.fetch(serializer) do
    raise ArgumentError, "Unknown serializer: #{serializer.inspect}. Valid options: #{ALIASES.keys.map(&:inspect).join(", ")}"
  end
end