Module: OpenAI::Internal::Type::Enum Private
- Includes:
- Converter, Util::SorbetRuntimeSupport
- Included in:
- Helpers::StructuredOutput::EnumOf, Models::AllModels::ResponsesOnlyModel, Models::Audio::SpeechCreateParams::ResponseFormat, 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::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::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::ChatCompletionModality, Models::Chat::ChatCompletionRole, Models::Chat::ChatCompletionToolChoiceOption::Auto, Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode, Models::Chat::CompletionCreateParams::Modality, Models::Chat::CompletionCreateParams::ServiceTier, 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::ContainerCreateResponse::ExpiresAfter::Anchor, Models::ContainerListParams::Order, Models::ContainerListResponse::ExpiresAfter::Anchor, Models::ContainerRetrieveResponse::ExpiresAfter::Anchor, Models::Containers::FileListParams::Order, 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::Message::Role, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::Message::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::ImageEditParams::Background, Models::ImageEditParams::Quality, Models::ImageEditParams::ResponseFormat, Models::ImageEditParams::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::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::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::Response::IncompleteDetails::Reason, Models::Responses::Response::ServiceTier, Models::Responses::Response::Truncation, 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::ServiceTier, Models::Responses::ResponseCreateParams::Truncation, Models::Responses::ResponseError::Code, Models::Responses::ResponseFileSearchToolCall::Status, Models::Responses::ResponseFunctionToolCall::Status, Models::Responses::ResponseFunctionToolCallOutputItem::Status, Models::Responses::ResponseFunctionWebSearch::Status, Models::Responses::ResponseIncludable, Models::Responses::ResponseInputAudio::Format, Models::Responses::ResponseInputImage::Detail, 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::Message::Role, Models::Responses::ResponseInputItem::Message::Status, Models::Responses::ResponseInputItem::Message::Type, 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::ResponseOutputItem::ImageGenerationCall::Status, Models::Responses::ResponseOutputItem::LocalShellCall::Status, Models::Responses::ResponseOutputMessage::Status, Models::Responses::ResponseReasoningItem::Status, Models::Responses::ResponseStatus, Models::Responses::Tool::ImageGeneration::Background, Models::Responses::Tool::ImageGeneration::Model, Models::Responses::Tool::ImageGeneration::Moderation, Models::Responses::Tool::ImageGeneration::OutputFormat, Models::Responses::Tool::ImageGeneration::Quality, Models::Responses::Tool::ImageGeneration::Size, Models::Responses::Tool::Mcp::RequireApproval::McpToolApprovalSetting, Models::Responses::ToolChoiceOptions, Models::Responses::ToolChoiceTypes::Type, Models::Responses::WebSearchTool::SearchContextSize, Models::Responses::WebSearchTool::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
- 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:
-
boolean => true | false
-
integer => Integer
-
float => Float
-
string => Symbol
We can therefore convert string values to Symbols, but can’t convert other values safely.
Instance Method Summary collapse
- #==(other) ⇒ Boolean
- #===(other) ⇒ Boolean
-
#coerce(value, state:) ⇒ Symbol, Object
private
Unlike with primitives, ‘Enum` additionally validates that the value is a member of the enum.
- #dump(value, state: ) ⇒ Symbol, Object private
- #hash ⇒ Integer
- #inspect(depth: 0) ⇒ String private
- #to_sorbet_type ⇒ Object private
-
#values ⇒ Array<NilClass, Boolean, Integer, Float, Symbol>
private
All of the valid Symbol values for this enum.
Methods included from Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, to_sorbet_type
Methods included from Converter
coerce, dump, inspect, type_info
Instance Method Details
#==(other) ⇒ Boolean
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
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.
91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/openai/internal/type/enum.rb', line 91 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 else exactness[values.first&.class == val.class ? :maybe : :no] += 1 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.
|
# File 'lib/openai/internal/type/enum.rb', line 104
|
#hash ⇒ 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.
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/openai/internal/type/enum.rb', line 135 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_type ⇒ 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.
118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/openai/internal/type/enum.rb', line 118 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 |
#values ⇒ Array<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.
50 |
# File 'lib/openai/internal/type/enum.rb', line 50 def values = constants.map { const_get(_1) } |