Spec-Zone.ru › Homebrew

Класс: Tapioca::Compilers::Forwardables

Наследует:
Dsl::Compiler
  • Object
  • Dsl::Compiler
  • Tapioca::Compilers::Forwardables
показать все
Определён в:
sorbet/tapioca/compilers/forwardables.rb

Краткое описание констант свернуть

FORWARDABLE_FILENAME =
"forwardable.rb"
ARRAY_METHODS =
T.let(["to_a", "to_ary"].freeze, T::Array[String])
HASH_METHODS =
T.let(["to_h", "to_hash"].freeze, T::Array[String])
STRING_METHODS =
T.let(["to_s", "to_str", "to_json"].freeze, T::Array[String])
RETURN_TYPE_OVERRIDES =

Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

Используйте это, чтобы переопределить тип возвращаемого значения метода с делегированием по умолчанию:

T.let({
  "::Cask::Cask" => {
    "on_system_block_min_os" => "T.nilable(MacOSVersion)",
    "url"                    => "T.nilable(::Cask::URL)",
  },
}.freeze, T::Hash[String, T::Hash[String, String]])
ConstantType =
type_member { { fixed: T::Module[T.anything] } }

Краткое описание методов класса свернуть

  • .gather_constants ⇒ Enumerable<T::Module[T.anything]> закрытый

Краткое описание методов экземпляра свернуть

  • #decorate ⇒ void закрытый

Подробное описание методов класса

.gather_constants ⇒ Enumerable<T::Module[T.anything]>

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Enumerable<T::Module[T.anything]>)


26
27
28
29
30
31
# File 'sorbet/tapioca/compilers/forwardables.rb', line 26

def self.gather_constants
  Homebrew::Tapioca::Utils.named_objects_with_module(Forwardable).reject do |obj|
    # Avoid duplicate stubs for forwardables that are defined in vendored gems
    Object.const_source_location(T.must(obj.name))&.first&.include?("vendor/bundle/ruby")
  end
end

Подробное описание методов экземпляра

#decorate ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.



34
35
36
37
38
39
40
41
# File 'sorbet/tapioca/compilers/forwardables.rb', line 34

def decorate
  root.create_path(constant) do |klass|
    Homebrew::Tapioca::Utils.methods_from_file(constant, FORWARDABLE_FILENAME)
                            .each { |method| compile_forwardable_method(klass, method) }
    Homebrew::Tapioca::Utils.methods_from_file(constant, FORWARDABLE_FILENAME, class_methods: true)
                            .each { |method| compile_forwardable_method(klass, method, class_method: true) }
  end
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Tapioca/Compilers/Forwardables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API