Module: Increase::Internal::Util::SorbetRuntimeSupport Private

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

Instance Method Summary collapse

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.



925
926
927
928
929
930
931
932
933
934
935
936
# File 'lib/increase/internal/util.rb', line 925

def to_sorbet_type(type)
  case type
  in Increase::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.



890
891
892
893
894
895
896
897
898
899
# File 'lib/increase/internal/util.rb', line 890

def const_missing(name)
  super unless sorbet_runtime_constants.key?(name)

  unless Object.const_defined?(:T)
    message = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`."
    raise MissingSorbetRuntimeError.new(message)
  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.

Yields:

Yield Returns:

  • (top)


912
# File 'lib/increase/internal/util.rb', line 912

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.



906
# File 'lib/increase/internal/util.rb', line 906

def sorbet_constant_defined?(name) = sorbet_runtime_constants.key?(name)

#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.

Raises:

  • (NotImplementedError)


917
# File 'lib/increase/internal/util.rb', line 917

def to_sorbet_type = raise NotImplementedError