Module: MethodRuby::Internal::Util::SorbetRuntimeSupport Private
- Included in:
- MethodRuby::Internal, Transport::BaseClient, Transport::PooledNetRequester, Type::ArrayOf, Type::BaseModel, Type::Boolean, Type::Converter, Type::Enum, Type::HashOf, Type::Union, Type::Unknown, MethodRuby::Internal::Util
- Defined in:
- lib/method_ruby/internal/util.rb
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) ⇒ Object private
- #define_sorbet_constant!(name, &blk) ⇒ Object 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.
910 911 912 913 914 915 916 917 918 919 920 921 |
# File 'lib/method_ruby/internal/util.rb', line 910 def to_sorbet_type(type) case type in MethodRuby::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) ⇒ 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.
875 876 877 878 879 880 881 882 883 884 |
# File 'lib/method_ruby/internal/util.rb', line 875 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) ⇒ 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.
897 |
# File 'lib/method_ruby/internal/util.rb', line 897 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.
891 |
# File 'lib/method_ruby/internal/util.rb', line 891 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.
902 |
# File 'lib/method_ruby/internal/util.rb', line 902 def to_sorbet_type = raise NotImplementedError |