Module: Courier::Internal::Util::SorbetRuntimeSupport Private
- Included in:
- Courier::Internal, Transport::BaseClient, Transport::PooledNetRequester, Type::ArrayOf, Type::BaseModel, Type::Boolean, Type::Converter, Type::Enum, Type::HashOf, Type::Union, Type::Unknown
- Defined in:
- lib/courier/internal/util.rb,
sig/courier/internal/util.rbs
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.
Defined Under Namespace
Classes: MissingSorbetRuntimeError
Class Method Summary collapse
- .to_sorbet_type(type) ⇒ Object private
Instance Method Summary collapse
- #const_missing(name) ⇒ void private
- #define_sorbet_constant!(name, &blk) { ... } ⇒ void private
- #sorbet_constant_defined?(name) ⇒ Boolean private
- #to_sorbet_type ⇒ Object private
Class Method Details
.to_sorbet_type(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.
942 943 944 945 946 947 948 949 950 951 952 953 |
# File 'lib/courier/internal/util.rb', line 942 def to_sorbet_type(type) case type in Courier::Internal::Util::SorbetRuntimeSupport type.to_sorbet_type in Class | Module type in true | false T::Boolean else type.class end end |
Instance Method Details
#const_missing(name) ⇒ void
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.
This method returns an undefined value.
907 908 909 910 911 912 913 914 915 916 |
# File 'lib/courier/internal/util.rb', line 907 def const_missing(name) super unless sorbet_runtime_constants.key?(name) unless Object.const_defined?(:T) = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`." raise MissingSorbetRuntimeError.new() end sorbet_runtime_constants.fetch(name).call end |
#define_sorbet_constant!(name, &blk) { ... } ⇒ void
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.
This method returns an undefined value.
929 |
# File 'lib/courier/internal/util.rb', line 929 def define_sorbet_constant!(name, &blk) = sorbet_runtime_constants.store(name, blk) |
#sorbet_constant_defined?(name) ⇒ Boolean
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.
923 |
# File 'lib/courier/internal/util.rb', line 923 def sorbet_constant_defined?(name) = sorbet_runtime_constants.key?(name) |
#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.
934 |
# File 'lib/courier/internal/util.rb', line 934 def to_sorbet_type = raise NotImplementedError |