Module: Openlayer::Internal::Type::Enum Private

Includes:
Converter, Util::SorbetRuntimeSupport
Included in:
Models::CommitRetrieveResponse::Status, Models::Commits::TestResultListParams::Status, Models::Commits::TestResultListParams::Type, Models::Commits::TestResultListResponse::Item::Goal::Subtype, Models::Commits::TestResultListResponse::Item::Goal::Threshold::InsightName, Models::Commits::TestResultListResponse::Item::Goal::Threshold::Operator, Models::Commits::TestResultListResponse::Item::Goal::Threshold::ThresholdMode, Models::Commits::TestResultListResponse::Item::Goal::Type, Models::Commits::TestResultListResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator, Models::Commits::TestResultListResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator, Models::Commits::TestResultListResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator, Models::Commits::TestResultListResponse::Item::Status, Models::Governance::FrameworkCreateParams::ProjectSelector::Match::Property, Models::Governance::FrameworkCreateResponse::Avatar::Type, Models::Governance::FrameworkCreateResponse::ProjectSelector::Match::Property, Models::Governance::FrameworkListParams::CompletionOperator, Models::Governance::FrameworkListParams::SortColumn, Models::Governance::FrameworkListProjectRuleStatsParams::SortColumn, Models::Governance::FrameworkListProjectsResponse::Item::Source, Models::Governance::FrameworkListProjectsResponse::Item::TaskType, Models::Governance::FrameworkListResponse::Item::Avatar::Type, Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property, Models::Governance::FrameworkListRulesResponse::Item::EvidenceType, Models::Governance::FrameworkListRulesResponse::Item::Framework::Avatar::Type, Models::Governance::FrameworkListRulesResponse::Item::Result::BlockedBy::Status, Models::Governance::FrameworkListRulesResponse::Item::Result::Blocking::Status, Models::Governance::FrameworkListRulesResponse::Item::Result::Status, Models::Governance::FrameworkListRulesResponse::Item::Scope, Models::Governance::FrameworkListRulesResponse::Item::Type, Models::Governance::FrameworkRetrieveResponse::Avatar::Type, Models::Governance::FrameworkRetrieveResponse::ProjectSelector::Match::Property, Models::Governance::FrameworkUpdateParams::Avatar::Type, Models::Governance::FrameworkUpdateParams::ProjectSelector::Match::Property, Models::Governance::FrameworkUpdateResponse::Avatar::Type, Models::Governance::FrameworkUpdateResponse::ProjectSelector::Match::Property, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Rule::EvidenceType, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Rule::Scope, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Rule::Type, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Subsection::Rule::EvidenceType, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Subsection::Rule::Scope, Models::Governance::Frameworks::DocumentListResponse::Item::Section::Subsection::Rule::Type, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Rule::EvidenceType, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Rule::Scope, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Rule::Type, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Subsection::Rule::EvidenceType, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Subsection::Rule::Scope, Models::Governance::Frameworks::DocumentRetrieveResponse::Section::Subsection::Rule::Type, Models::Governance::Frameworks::SectionListRulesParams::Status, Models::Governance::Frameworks::SectionListRulesResponse::Item::EvidenceType, Models::Governance::Frameworks::SectionListRulesResponse::Item::Framework::Avatar::Type, Models::Governance::Frameworks::SectionListRulesResponse::Item::Result::BlockedBy::Status, Models::Governance::Frameworks::SectionListRulesResponse::Item::Result::Blocking::Status, Models::Governance::Frameworks::SectionListRulesResponse::Item::Result::Status, Models::Governance::Frameworks::SectionListRulesResponse::Item::Scope, Models::Governance::Frameworks::SectionListRulesResponse::Item::Type, Models::Governance::Frameworks::SubsectionListRulesParams::Status, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::EvidenceType, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Framework::Avatar::Type, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Result::BlockedBy::Status, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Result::Blocking::Status, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Result::Status, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Scope, Models::Governance::Frameworks::SubsectionListRulesResponse::Item::Type, Models::Governance::RuleCreateParams::EvidenceType, Models::Governance::RuleCreateParams::Scope, Models::Governance::RuleCreateParams::Type, Models::Governance::RuleCreateResponse::EvidenceType, Models::Governance::RuleCreateResponse::Framework::Avatar::Type, Models::Governance::RuleCreateResponse::Result::BlockedBy::Status, Models::Governance::RuleCreateResponse::Result::Blocking::Status, Models::Governance::RuleCreateResponse::Result::Status, Models::Governance::RuleCreateResponse::Scope, Models::Governance::RuleCreateResponse::Type, Models::Governance::RuleListParams::Group, Models::Governance::RuleListParams::Scope, Models::Governance::RuleListParams::SortBy, Models::Governance::RuleListParams::Status, Models::Governance::RuleListParams::Type, Models::Governance::RuleListResponse::Item::EvidenceType, Models::Governance::RuleListResponse::Item::Framework::Avatar::Type, Models::Governance::RuleListResponse::Item::Result::BlockedBy::Status, Models::Governance::RuleListResponse::Item::Result::Blocking::Status, Models::Governance::RuleListResponse::Item::Result::Status, Models::Governance::RuleListResponse::Item::Scope, Models::Governance::RuleListResponse::Item::Type, Models::Governance::RuleResultListParams::Scope, Models::Governance::RuleResultListParams::Status, Models::Governance::RuleResultListParams::Type, Models::Governance::RuleResultListResponse::Item::BlockedBy::Status, Models::Governance::RuleResultListResponse::Item::Blocking::Status, Models::Governance::RuleResultListResponse::Item::Status, Models::Governance::RuleResultRetrieveResponse::BlockedBy::Status, Models::Governance::RuleResultRetrieveResponse::Blocking::Status, Models::Governance::RuleResultRetrieveResponse::Status, Models::Governance::RuleResultUpdateParams::BlockedBy::Status, Models::Governance::RuleResultUpdateParams::Blocking::Status, Models::Governance::RuleResultUpdateResponse::BlockedBy::Status, Models::Governance::RuleResultUpdateResponse::Blocking::Status, Models::Governance::RuleResultUpdateResponse::Status, Models::Governance::RuleRetrieveResponse::EvidenceType, Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type, Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status, Models::Governance::RuleRetrieveResponse::Result::Blocking::Status, Models::Governance::RuleRetrieveResponse::Result::Status, Models::Governance::RuleRetrieveResponse::Scope, Models::Governance::RuleRetrieveResponse::Type, Models::Governance::RuleUpdateResponse::EvidenceType, Models::Governance::RuleUpdateResponse::Framework::Avatar::Type, Models::Governance::RuleUpdateResponse::Result::BlockedBy::Status, Models::Governance::RuleUpdateResponse::Result::Blocking::Status, Models::Governance::RuleUpdateResponse::Result::Status, Models::Governance::RuleUpdateResponse::Scope, Models::Governance::RuleUpdateResponse::Type, Models::InferencePipelineRetrieveParams::Expand, Models::InferencePipelineRetrieveResponse::DataBackend::BigQueryDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::DataBackend::BigQueryDataBackend::PartitionType, Models::InferencePipelineRetrieveResponse::DataBackend::DatabricksDtlDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::DataBackend::DefaultDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::DataBackend::PostgresDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::DataBackend::RedshiftDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::DataBackend::SnowflakeDataBackend::BackendType, Models::InferencePipelineRetrieveResponse::Project::Source, Models::InferencePipelineRetrieveResponse::Project::TaskType, Models::InferencePipelineRetrieveResponse::Status, Models::InferencePipelineRetrieveResponse::Workspace::Status, Models::InferencePipelineRetrieveSessionsParams::ColumnFilter::NumericColumnFilter::Operator, Models::InferencePipelineRetrieveSessionsParams::ColumnFilter::SetColumnFilter::Operator, Models::InferencePipelineRetrieveSessionsParams::ColumnFilter::StringColumnFilter::Operator, Models::InferencePipelineRetrieveUsersParams::ColumnFilter::NumericColumnFilter::Operator, Models::InferencePipelineRetrieveUsersParams::ColumnFilter::SetColumnFilter::Operator, Models::InferencePipelineRetrieveUsersParams::ColumnFilter::StringColumnFilter::Operator, Models::InferencePipelineUpdateResponse::DataBackend::BigQueryDataBackend::BackendType, Models::InferencePipelineUpdateResponse::DataBackend::BigQueryDataBackend::PartitionType, Models::InferencePipelineUpdateResponse::DataBackend::DatabricksDtlDataBackend::BackendType, Models::InferencePipelineUpdateResponse::DataBackend::DefaultDataBackend::BackendType, Models::InferencePipelineUpdateResponse::DataBackend::PostgresDataBackend::BackendType, Models::InferencePipelineUpdateResponse::DataBackend::RedshiftDataBackend::BackendType, Models::InferencePipelineUpdateResponse::DataBackend::SnowflakeDataBackend::BackendType, Models::InferencePipelineUpdateResponse::Project::Source, Models::InferencePipelineUpdateResponse::Project::TaskType, Models::InferencePipelineUpdateResponse::Status, Models::InferencePipelineUpdateResponse::Workspace::Status, Models::InferencePipelines::DataStreamResponse::Success, Models::InferencePipelines::RowListParams::ColumnFilter::NumericColumnFilter::Operator, Models::InferencePipelines::RowListParams::ColumnFilter::SetColumnFilter::Operator, Models::InferencePipelines::RowListParams::ColumnFilter::StringColumnFilter::Operator, Models::InferencePipelines::RowUpdateResponse::Success, Models::InferencePipelines::TestResultListParams::Status, Models::InferencePipelines::TestResultListParams::Type, Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype, Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName, Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator, Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode, Models::InferencePipelines::TestResultListResponse::Item::Goal::Type, Models::InferencePipelines::TestResultListResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator, Models::InferencePipelines::TestResultListResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator, Models::InferencePipelines::TestResultListResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator, Models::InferencePipelines::TestResultListResponse::Item::Status, Models::ProjectCreateParams::TaskType, Models::ProjectCreateResponse::Source, Models::ProjectCreateResponse::TaskType, Models::ProjectListParams::TaskType, Models::ProjectListResponse::Item::Source, Models::ProjectListResponse::Item::TaskType, Models::ProjectUpdateResponse::Source, Models::ProjectUpdateResponse::TaskType, Models::Projects::CommitCreateResponse::Status, Models::Projects::CommitListResponse::Item::Status, Models::Projects::InferencePipelineCreateParams::DataBackend::BigQueryDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::DataBackend::BigQueryDataBackend::PartitionType, Models::Projects::InferencePipelineCreateParams::DataBackend::DatabricksDtlDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::DataBackend::DefaultDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::DataBackend::PostgresDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::DataBackend::RedshiftDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::DataBackend::SnowflakeDataBackend::BackendType, Models::Projects::InferencePipelineCreateParams::Project::Source, Models::Projects::InferencePipelineCreateParams::Project::TaskType, Models::Projects::InferencePipelineCreateParams::Workspace::Status, Models::Projects::InferencePipelineCreateResponse::DataBackend::BigQueryDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::DataBackend::BigQueryDataBackend::PartitionType, Models::Projects::InferencePipelineCreateResponse::DataBackend::DatabricksDtlDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::DataBackend::DefaultDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::DataBackend::PostgresDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::DataBackend::RedshiftDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::DataBackend::SnowflakeDataBackend::BackendType, Models::Projects::InferencePipelineCreateResponse::Project::Source, Models::Projects::InferencePipelineCreateResponse::Project::TaskType, Models::Projects::InferencePipelineCreateResponse::Status, Models::Projects::InferencePipelineCreateResponse::Workspace::Status, Models::Projects::InferencePipelineListResponse::Item::DataBackend::BigQueryDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::BigQueryDataBackend::PartitionType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::DatabricksDtlDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::DefaultDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::PostgresDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::RedshiftDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::DataBackend::SnowflakeDataBackend::BackendType, Models::Projects::InferencePipelineListResponse::Item::Project::Source, Models::Projects::InferencePipelineListResponse::Item::Project::TaskType, Models::Projects::InferencePipelineListResponse::Item::Status, Models::Projects::InferencePipelineListResponse::Item::Workspace::Status, Models::Projects::TestCreateParams::Subtype, Models::Projects::TestCreateParams::Threshold::InsightName, Models::Projects::TestCreateParams::Threshold::Operator, Models::Projects::TestCreateParams::Threshold::ThresholdMode, Models::Projects::TestCreateParams::Type, Models::Projects::TestCreateResponse::Subtype, Models::Projects::TestCreateResponse::Threshold::InsightName, Models::Projects::TestCreateResponse::Threshold::Operator, Models::Projects::TestCreateResponse::Threshold::ThresholdMode, Models::Projects::TestCreateResponse::Type, Models::Projects::TestListParams::Type, Models::Projects::TestListResponse::Item::Subtype, Models::Projects::TestListResponse::Item::Threshold::InsightName, Models::Projects::TestListResponse::Item::Threshold::Operator, Models::Projects::TestListResponse::Item::Threshold::ThresholdMode, Models::Projects::TestListResponse::Item::Type, Models::Projects::TestUpdateParams::Payload::Suggested, Models::Projects::TestUpdateParams::Payload::Threshold::InsightName, Models::Projects::TestUpdateParams::Payload::Threshold::Operator, Models::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode, Models::TestListResultsResponse::Item::Goal::Subtype, Models::TestListResultsResponse::Item::Goal::Threshold::InsightName, Models::TestListResultsResponse::Item::Goal::Threshold::Operator, Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode, Models::TestListResultsResponse::Item::Goal::Type, Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator, Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator, Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator, Models::TestListResultsResponse::Item::Status, Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype, Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName, Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator, Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode, Models::TestListResultsResponse::LastUnskippedResult::Goal::Type, Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator, Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator, Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator, Models::TestListResultsResponse::LastUnskippedResult::Status, Models::WorkspaceRetrieveResponse::Status, Models::WorkspaceUpdateResponse::Status, Models::Workspaces::InviteCreateParams::Role, Models::Workspaces::InviteCreateResponse::Item::Role, Models::Workspaces::InviteCreateResponse::Item::Status, Models::Workspaces::InviteListResponse::Item::Role, Models::Workspaces::InviteListResponse::Item::Status
Defined in:
lib/openlayer/internal/type/enum.rb,
sig/openlayer/internal/type/enum.rbs

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.

Class Method Summary collapse

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

Class Method Details

.values ⇒ ::Array[(nil | bool | 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.

Returns:

  • (::Array[(nil | bool | Integer | Float | Symbol)])


8
# File 'sig/openlayer/internal/type/enum.rbs', line 8

def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)]

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



39
40
41
42
43
# File 'lib/openlayer/internal/type/enum.rb', line 39

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

#===(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



32
# File 'lib/openlayer/internal/type/enum.rb', line 32

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] :error

    @option state [Integer] :branched

Returns:

  • (Symbol, Object)


70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/openlayer/internal/type/enum.rb', line 70

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/openlayer/internal/type/enum.rb', line 87

#hash ⇒ Integer

Returns:

  • (Integer)


48
# File 'lib/openlayer/internal/type/enum.rb', line 48

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)
  • depth: (Integer) (defaults to: 0)

Returns:

  • (String)


118
119
120
121
122
123
124
125
126
127
# File 'lib/openlayer/internal/type/enum.rb', line 118

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

  members = values.map { Openlayer::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.

Returns:

  • (Object)


101
102
103
104
105
106
107
108
109
110
111
# File 'lib/openlayer/internal/type/enum.rb', line 101

def to_sorbet_type
  types = values.map { Openlayer::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.

Returns:

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


25
# File 'lib/openlayer/internal/type/enum.rb', line 25

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