Module: OpenAI::Internal::Type::Enum Private

Includes:
Converter, Util::SorbetRuntimeSupport
Included in:
Helpers::StructuredOutput::EnumOf, Models::AllModels::ResponsesOnlyModel, Models::Audio::SpeechCreateParams::ResponseFormat, Models::Audio::SpeechCreateParams::StreamFormat, Models::Audio::SpeechModel, Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig::Type, Models::Audio::TranscriptionCreateParams::TimestampGranularity, Models::Audio::TranscriptionInclude, Models::Audio::TranslationCreateParams::ResponseFormat, Models::AudioModel, Models::AudioResponseFormat, Models::Batch::Status, Models::BatchCreateParams::CompletionWindow, Models::BatchCreateParams::Endpoint, Models::Beta::AssistantListParams::Order, Models::Beta::AssistantToolChoice::Type, Models::Beta::AssistantToolChoiceOption::Auto, Models::Beta::ChatKit::ChatKitAttachment::Type, Models::Beta::ChatKit::ChatKitThreadItemList::Data::ChatKitClientToolCall::Status, Models::Beta::ChatKit::ChatKitThreadItemList::Data::ChatKitTask::TaskType, Models::Beta::ChatKit::ChatKitThreadItemList::Data::ChatKitTaskGroup::Task::Type, Models::Beta::ChatKit::ChatSessionStatus, Models::Beta::ChatKit::ThreadListItemsParams::Order, Models::Beta::ChatKit::ThreadListParams::Order, Models::Beta::FileSearchTool::FileSearch::RankingOptions::Ranker, Models::Beta::ThreadCreateAndRunParams::Thread::Message::Role, Models::Beta::ThreadCreateAndRunParams::TruncationStrategy::Type, Models::Beta::ThreadCreateParams::Message::Role, Models::Beta::Threads::ImageFile::Detail, Models::Beta::Threads::ImageFileDelta::Detail, Models::Beta::Threads::ImageURL::Detail, Models::Beta::Threads::ImageURLDelta::Detail, Models::Beta::Threads::Message::IncompleteDetails::Reason, Models::Beta::Threads::Message::Role, Models::Beta::Threads::Message::Status, Models::Beta::Threads::MessageCreateParams::Role, Models::Beta::Threads::MessageDelta::Role, Models::Beta::Threads::MessageListParams::Order, Models::Beta::Threads::Run::IncompleteDetails::Reason, Models::Beta::Threads::Run::LastError::Code, Models::Beta::Threads::Run::TruncationStrategy::Type, Models::Beta::Threads::RunCreateParams::AdditionalMessage::Role, Models::Beta::Threads::RunCreateParams::TruncationStrategy::Type, Models::Beta::Threads::RunListParams::Order, Models::Beta::Threads::RunStatus, Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions::Ranker, Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content::Type, Models::Beta::Threads::Runs::RunStep::LastError::Code, Models::Beta::Threads::Runs::RunStep::Status, Models::Beta::Threads::Runs::RunStep::Type, Models::Beta::Threads::Runs::RunStepInclude, Models::Beta::Threads::Runs::StepListParams::Order, Models::Chat::ChatCompletion::Choice::FinishReason, Models::Chat::ChatCompletion::ServiceTier, Models::Chat::ChatCompletionAllowedTools::Mode, Models::Chat::ChatCompletionAudioParam::Format, Models::Chat::ChatCompletionChunk::Choice::Delta::Role, Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Type, Models::Chat::ChatCompletionChunk::Choice::FinishReason, Models::Chat::ChatCompletionChunk::ServiceTier, Models::Chat::ChatCompletionContentPartImage::ImageURL::Detail, Models::Chat::ChatCompletionContentPartInputAudio::InputAudio::Format, Models::Chat::ChatCompletionCustomTool::Custom::Format::Grammar::Grammar::Syntax, Models::Chat::ChatCompletionModality, Models::Chat::ChatCompletionRole, Models::Chat::ChatCompletionToolChoiceOption::Auto, Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode, Models::Chat::CompletionCreateParams::Modality, Models::Chat::CompletionCreateParams::PromptCacheRetention, Models::Chat::CompletionCreateParams::ServiceTier, Models::Chat::CompletionCreateParams::Verbosity, Models::Chat::CompletionCreateParams::WebSearchOptions::SearchContextSize, Models::Chat::CompletionListParams::Order, Models::Chat::Completions::MessageListParams::Order, Models::ChatModel, Models::ComparisonFilter::Type, Models::CompletionChoice::FinishReason, Models::CompoundFilter::Type, Models::ContainerCreateParams::ExpiresAfter::Anchor, Models::ContainerCreateParams::MemoryLimit, Models::ContainerCreateResponse::ExpiresAfter::Anchor, Models::ContainerCreateResponse::MemoryLimit, Models::ContainerListParams::Order, Models::ContainerListResponse::ExpiresAfter::Anchor, Models::ContainerListResponse::MemoryLimit, Models::ContainerRetrieveResponse::ExpiresAfter::Anchor, Models::ContainerRetrieveResponse::MemoryLimit, Models::Containers::FileListParams::Order, Models::Conversations::ConversationItem::ImageGenerationCall::Status, Models::Conversations::ConversationItem::LocalShellCall::Status, Models::Conversations::ConversationItem::LocalShellCallOutput::Status, Models::Conversations::ConversationItem::McpCall::Status, Models::Conversations::ItemListParams::Order, Models::Conversations::Message::Role, Models::Conversations::Message::Status, Models::CustomToolInputFormat::Grammar::Syntax, Models::EmbeddingCreateParams::EncodingFormat, Models::EmbeddingModel, Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role, Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Type, Models::EvalListParams::Order, Models::EvalListParams::OrderBy, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Type, Models::Evals::CreateEvalCompletionsRunDataSource::Type, Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role, Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Type, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::Type, Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role, Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type, Models::Evals::RunListParams::Order, Models::Evals::RunListParams::Status, Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role, Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type, Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role, Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Type, Models::Evals::Runs::OutputItemListParams::Order, Models::Evals::Runs::OutputItemListParams::Status, Models::FileListParams::Order, Models::FileObject::Purpose, Models::FileObject::Status, Models::FilePurpose, Models::FineTuning::Checkpoints::PermissionRetrieveParams::Order, Models::FineTuning::FineTuningJob::Method::Type, Models::FineTuning::FineTuningJob::Status, Models::FineTuning::FineTuningJobEvent::Level, Models::FineTuning::FineTuningJobEvent::Type, Models::FineTuning::JobCreateParams::Method::Type, Models::FineTuning::ReinforcementHyperparameters::ReasoningEffort, Models::Graders::LabelModelGrader::Input::Role, Models::Graders::LabelModelGrader::Input::Type, Models::Graders::ScoreModelGrader::Input::Role, Models::Graders::ScoreModelGrader::Input::Type, Models::Graders::StringCheckGrader::Operation, Models::Graders::TextSimilarityGrader::EvaluationMetric, Models::ImageCreateVariationParams::ResponseFormat, Models::ImageCreateVariationParams::Size, Models::ImageEditCompletedEvent::Background, Models::ImageEditCompletedEvent::OutputFormat, Models::ImageEditCompletedEvent::Quality, Models::ImageEditCompletedEvent::Size, Models::ImageEditParams::Background, Models::ImageEditParams::InputFidelity, Models::ImageEditParams::OutputFormat, Models::ImageEditParams::Quality, Models::ImageEditParams::ResponseFormat, Models::ImageEditParams::Size, Models::ImageEditPartialImageEvent::Background, Models::ImageEditPartialImageEvent::OutputFormat, Models::ImageEditPartialImageEvent::Quality, Models::ImageEditPartialImageEvent::Size, Models::ImageGenCompletedEvent::Background, Models::ImageGenCompletedEvent::OutputFormat, Models::ImageGenCompletedEvent::Quality, Models::ImageGenCompletedEvent::Size, Models::ImageGenPartialImageEvent::Background, Models::ImageGenPartialImageEvent::OutputFormat, Models::ImageGenPartialImageEvent::Quality, Models::ImageGenPartialImageEvent::Size, Models::ImageGenerateParams::Background, Models::ImageGenerateParams::Moderation, Models::ImageGenerateParams::OutputFormat, Models::ImageGenerateParams::Quality, Models::ImageGenerateParams::ResponseFormat, Models::ImageGenerateParams::Size, Models::ImageGenerateParams::Style, Models::ImageModel, Models::ImagesResponse::Background, Models::ImagesResponse::OutputFormat, Models::ImagesResponse::Quality, Models::ImagesResponse::Size, Models::Moderation::CategoryAppliedInputTypes::Harassment, Models::Moderation::CategoryAppliedInputTypes::HarassmentThreatening, Models::Moderation::CategoryAppliedInputTypes::Hate, Models::Moderation::CategoryAppliedInputTypes::HateThreatening, Models::Moderation::CategoryAppliedInputTypes::Illicit, Models::Moderation::CategoryAppliedInputTypes::IllicitViolent, Models::Moderation::CategoryAppliedInputTypes::SelfHarm, Models::Moderation::CategoryAppliedInputTypes::SelfHarmInstruction, Models::Moderation::CategoryAppliedInputTypes::SelfHarmIntent, Models::Moderation::CategoryAppliedInputTypes::Sexual, Models::Moderation::CategoryAppliedInputTypes::SexualMinor, Models::Moderation::CategoryAppliedInputTypes::Violence, Models::Moderation::CategoryAppliedInputTypes::ViolenceGraphic, Models::ModerationModel, Models::Realtime::ClientSecretCreateParams::ExpiresAfter::Anchor, Models::Realtime::ConversationCreatedEvent::Conversation::Object, Models::Realtime::ConversationItemWithReference::Content::Type, Models::Realtime::ConversationItemWithReference::Object, Models::Realtime::ConversationItemWithReference::Role, Models::Realtime::ConversationItemWithReference::Status, Models::Realtime::ConversationItemWithReference::Type, Models::Realtime::NoiseReductionType, Models::Realtime::RateLimitsUpdatedEvent::RateLimit::Name, Models::Realtime::RealtimeAudioFormats::AudioPCM::Rate, Models::Realtime::RealtimeAudioFormats::AudioPCM::Type, Models::Realtime::RealtimeAudioFormats::AudioPCMA::Type, Models::Realtime::RealtimeAudioFormats::AudioPCMU::Type, Models::Realtime::RealtimeAudioInputTurnDetection::SemanticVad::Eagerness, Models::Realtime::RealtimeConversationItemAssistantMessage::Content::Type, Models::Realtime::RealtimeConversationItemAssistantMessage::Object, Models::Realtime::RealtimeConversationItemAssistantMessage::Status, Models::Realtime::RealtimeConversationItemFunctionCall::Object, Models::Realtime::RealtimeConversationItemFunctionCall::Status, Models::Realtime::RealtimeConversationItemFunctionCallOutput::Object, Models::Realtime::RealtimeConversationItemFunctionCallOutput::Status, Models::Realtime::RealtimeConversationItemSystemMessage::Content::Type, Models::Realtime::RealtimeConversationItemSystemMessage::Object, Models::Realtime::RealtimeConversationItemSystemMessage::Status, Models::Realtime::RealtimeConversationItemUserMessage::Content::Detail, Models::Realtime::RealtimeConversationItemUserMessage::Content::Type, Models::Realtime::RealtimeConversationItemUserMessage::Object, Models::Realtime::RealtimeConversationItemUserMessage::Status, Models::Realtime::RealtimeFunctionTool::Type, Models::Realtime::RealtimeResponse::Object, Models::Realtime::RealtimeResponse::OutputModality, Models::Realtime::RealtimeResponse::Status, Models::Realtime::RealtimeResponseCreateMcpTool::ConnectorID, Models::Realtime::RealtimeResponseCreateMcpTool::RequireApproval::McpToolApprovalSetting, Models::Realtime::RealtimeResponseCreateParams::OutputModality, Models::Realtime::RealtimeResponseStatus::Reason, Models::Realtime::RealtimeResponseStatus::Type, Models::Realtime::RealtimeSession::Include, Models::Realtime::RealtimeSession::InputAudioFormat, Models::Realtime::RealtimeSession::Modality, Models::Realtime::RealtimeSession::Object, Models::Realtime::RealtimeSession::OutputAudioFormat, Models::Realtime::RealtimeSession::TurnDetection::SemanticVad::Eagerness, Models::Realtime::RealtimeSessionCreateRequest::Include, Models::Realtime::RealtimeSessionCreateRequest::OutputModality, Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::Eagerness, Models::Realtime::RealtimeSessionCreateResponse::Include, Models::Realtime::RealtimeSessionCreateResponse::OutputModality, Models::Realtime::RealtimeSessionCreateResponse::Tool::McpTool::ConnectorID, Models::Realtime::RealtimeSessionCreateResponse::Tool::McpTool::RequireApproval::McpToolApprovalSetting, Models::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID, Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting, Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::Eagerness, Models::Realtime::RealtimeTranscriptionSessionCreateRequest::Include, Models::Realtime::RealtimeTranscriptionSessionCreateResponse::Include, Models::Realtime::RealtimeTruncation::RealtimeTruncationStrategy, Models::Realtime::ResponseContentPartAddedEvent::Part::Type, Models::Realtime::ResponseContentPartDoneEvent::Part::Type, Models::Realtime::TranscriptionSessionUpdate::Session::Include, Models::Realtime::TranscriptionSessionUpdate::Session::InputAudioFormat, Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::Type, Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Modality, Models::Reasoning::GenerateSummary, Models::Reasoning::Summary, Models::ReasoningEffort, Models::Responses::ComputerTool::Environment, Models::Responses::EasyInputMessage::Role, Models::Responses::EasyInputMessage::Type, Models::Responses::FileSearchTool::RankingOptions::Ranker, Models::Responses::InputItemListParams::Order, Models::Responses::InputTokenCountParams::Text::Verbosity, Models::Responses::InputTokenCountParams::Truncation, Models::Responses::Response::IncompleteDetails::Reason, Models::Responses::Response::PromptCacheRetention, Models::Responses::Response::ServiceTier, Models::Responses::Response::Truncation, Models::Responses::ResponseApplyPatchToolCall::Status, Models::Responses::ResponseApplyPatchToolCallOutput::Status, Models::Responses::ResponseCodeInterpreterToolCall::Status, Models::Responses::ResponseComputerToolCall::Action::Click::Button, Models::Responses::ResponseComputerToolCall::Status, Models::Responses::ResponseComputerToolCall::Type, Models::Responses::ResponseComputerToolCallOutputItem::Status, Models::Responses::ResponseCreateParams::PromptCacheRetention, Models::Responses::ResponseCreateParams::ServiceTier, Models::Responses::ResponseCreateParams::Truncation, Models::Responses::ResponseError::Code, Models::Responses::ResponseFileSearchToolCall::Status, Models::Responses::ResponseFunctionShellToolCall::Status, Models::Responses::ResponseFunctionToolCall::Status, Models::Responses::ResponseFunctionToolCallOutputItem::Status, Models::Responses::ResponseFunctionWebSearch::Status, Models::Responses::ResponseIncludable, Models::Responses::ResponseInputAudio::InputAudio::Format, Models::Responses::ResponseInputImage::Detail, Models::Responses::ResponseInputImageContent::Detail, Models::Responses::ResponseInputItem::ApplyPatchCall::Status, Models::Responses::ResponseInputItem::ApplyPatchCallOutput::Status, Models::Responses::ResponseInputItem::ComputerCallOutput::Status, Models::Responses::ResponseInputItem::FunctionCallOutput::Status, Models::Responses::ResponseInputItem::ImageGenerationCall::Status, Models::Responses::ResponseInputItem::ItemReference::Type, Models::Responses::ResponseInputItem::LocalShellCall::Status, Models::Responses::ResponseInputItem::LocalShellCallOutput::Status, Models::Responses::ResponseInputItem::McpCall::Status, Models::Responses::ResponseInputItem::Message::Role, Models::Responses::ResponseInputItem::Message::Status, Models::Responses::ResponseInputItem::Message::Type, Models::Responses::ResponseInputItem::ShellCall::Status, Models::Responses::ResponseInputMessageItem::Role, Models::Responses::ResponseInputMessageItem::Status, Models::Responses::ResponseInputMessageItem::Type, Models::Responses::ResponseItem::ImageGenerationCall::Status, Models::Responses::ResponseItem::LocalShellCall::Status, Models::Responses::ResponseItem::LocalShellCallOutput::Status, Models::Responses::ResponseItem::McpCall::Status, Models::Responses::ResponseOutputItem::ImageGenerationCall::Status, Models::Responses::ResponseOutputItem::LocalShellCall::Status, Models::Responses::ResponseOutputItem::McpCall::Status, Models::Responses::ResponseOutputMessage::Status, Models::Responses::ResponseReasoningItem::Status, Models::Responses::ResponseStatus, Models::Responses::ResponseTextConfig::Verbosity, Models::Responses::Tool::CodeInterpreter::Container::CodeInterpreterToolAuto::MemoryLimit, Models::Responses::Tool::ImageGeneration::Background, Models::Responses::Tool::ImageGeneration::InputFidelity, Models::Responses::Tool::ImageGeneration::Moderation, Models::Responses::Tool::ImageGeneration::OutputFormat, Models::Responses::Tool::ImageGeneration::Quality, Models::Responses::Tool::ImageGeneration::Size, Models::Responses::Tool::Mcp::ConnectorID, Models::Responses::Tool::Mcp::RequireApproval::McpToolApprovalSetting, Models::Responses::ToolChoiceAllowed::Mode, Models::Responses::ToolChoiceOptions, Models::Responses::ToolChoiceTypes::Type, Models::Responses::WebSearchPreviewTool::SearchContextSize, Models::Responses::WebSearchPreviewTool::Type, Models::Responses::WebSearchTool::SearchContextSize, Models::Responses::WebSearchTool::Type, Models::Responses::WebSearchTool::UserLocation::Type, Models::ResponsesModel::ResponsesOnlyModel, Models::Upload::Status, Models::VectorStore::Status, Models::VectorStoreListParams::Order, Models::VectorStoreSearchParams::RankingOptions::Ranker, Models::VectorStoreSearchResponse::Content::Type, Models::VectorStores::FileBatchListFilesParams::Filter, Models::VectorStores::FileBatchListFilesParams::Order, Models::VectorStores::FileListParams::Filter, Models::VectorStores::FileListParams::Order, Models::VectorStores::VectorStoreFile::LastError::Code, Models::VectorStores::VectorStoreFile::Status, Models::VectorStores::VectorStoreFileBatch::Status, Models::Video::Status, Models::VideoDownloadContentParams::Variant, Models::VideoListParams::Order, Models::VideoSeconds, Models::VideoSize, Models::Webhooks::BatchCancelledWebhookEvent::Object, Models::Webhooks::BatchCompletedWebhookEvent::Object, Models::Webhooks::BatchExpiredWebhookEvent::Object, Models::Webhooks::BatchFailedWebhookEvent::Object, Models::Webhooks::EvalRunCanceledWebhookEvent::Object, Models::Webhooks::EvalRunFailedWebhookEvent::Object, Models::Webhooks::EvalRunSucceededWebhookEvent::Object, Models::Webhooks::FineTuningJobCancelledWebhookEvent::Object, Models::Webhooks::FineTuningJobFailedWebhookEvent::Object, Models::Webhooks::FineTuningJobSucceededWebhookEvent::Object, Models::Webhooks::RealtimeCallIncomingWebhookEvent::Object, Models::Webhooks::ResponseCancelledWebhookEvent::Object, Models::Webhooks::ResponseCompletedWebhookEvent::Object, Models::Webhooks::ResponseFailedWebhookEvent::Object, Models::Webhooks::ResponseIncompleteWebhookEvent::Object
Defined in:
lib/openai/internal/type/enum.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

A value from among a specified list of options. OpenAPI enum values map to Ruby values in the SDK as follows:

  1. boolean => true | false

  2. integer => Integer

  3. float => Float

  4. string => Symbol

We can therefore convert string values to Symbols, but can’t convert other values safely.

Examples:

# `chat_model` is a `OpenAI::ChatModel`
case chat_model
when OpenAI::ChatModel::GPT_5_2
  # ...
when OpenAI::ChatModel::GPT_5_2_2025_12_11
  # ...
when OpenAI::ChatModel::GPT_5_2_CHAT_LATEST
  # ...
else
  puts(chat_model)
end
case chat_model
in :"gpt-5.2"
  # ...
in :"gpt-5.2-2025-12-11"
  # ...
in :"gpt-5.2-chat-latest"
  # ...
else
  puts(chat_model)
end

Instance Method Summary collapse

Methods included from Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, to_sorbet_type

Methods included from Converter

coerce, dump, inspect, meta_info, new_coerce_state, type_info

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



64
65
66
67
68
# File 'lib/openai/internal/type/enum.rb', line 64

def ==(other)
  # rubocop:disable Style/CaseEquality
  OpenAI::Internal::Type::Enum === other && other.values.to_set == values.to_set
  # rubocop:enable Style/CaseEquality
end

#===(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



57
# File 'lib/openai/internal/type/enum.rb', line 57

def ===(other) = values.include?(other)

#coerce(value, state:) ⇒ Symbol, Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Unlike with primitives, ‘Enum` additionally validates that the value is a member of the enum.

Parameters:

  • value (String, Symbol, Object)
  • state (Hash{Symbol=>Object})

    .

    @option state [Boolean] :translate_names

    @option state [Boolean] :strictness

    @option state [HashSymbol=>Object] :exactness

    @option state [Class<StandardError>] :error

    @option state [Integer] :branched

Returns:

  • (Symbol, Object)


95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/openai/internal/type/enum.rb', line 95

def coerce(value, state:)
  exactness = state.fetch(:exactness)
  val = value.is_a?(String) ? value.to_sym : value

  if values.include?(val)
    exactness[:yes] += 1
    val
  elsif values.first&.class == val.class
    exactness[:maybe] += 1
    value
  else
    exactness[:no] += 1
    state[:error] = TypeError.new("#{value.class} can't be coerced into #{self}")
    value
  end
end

#dump(value, state:) ⇒ Symbol, Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • value (Symbol, Object)
  • state (Hash{Symbol=>Object})

    .

    @option state [Boolean] :can_retry

Returns:

  • (Symbol, Object)


# File 'lib/openai/internal/type/enum.rb', line 112

#hashInteger

Returns:

  • (Integer)


73
# File 'lib/openai/internal/type/enum.rb', line 73

def hash = values.to_set.hash

#inspect(depth: 0) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • depth (Integer) (defaults to: 0)

Returns:

  • (String)


143
144
145
146
147
148
149
150
151
152
# File 'lib/openai/internal/type/enum.rb', line 143

def inspect(depth: 0)
  if depth.positive?
    return is_a?(Module) ? super() : self.class.name
  end

  members = values.map { OpenAI::Internal::Type::Converter.inspect(_1, depth: depth.succ) }
  prefix = is_a?(Module) ? name : self.class.name

  "#{prefix}[#{members.join(' | ')}]"
end

#to_sorbet_typeObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Object)


126
127
128
129
130
131
132
133
134
135
136
# File 'lib/openai/internal/type/enum.rb', line 126

def to_sorbet_type
  types = values.map { OpenAI::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) }.uniq
  case types
  in []
    T.noreturn
  in [type]
    type
  else
    T.any(*types)
  end
end

#valuesArray<NilClass, Boolean, Integer, Float, Symbol>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

All of the valid Symbol values for this enum.

Returns:

  • (Array<NilClass, Boolean, Integer, Float, Symbol>)


50
# File 'lib/openai/internal/type/enum.rb', line 50

def values = constants.map { const_get(_1) }