Модуль: Utils::Backtrace Закрытый
- Расширен модулем:
- Output::Mixin
- Определён в:
- utils/backtrace.rb
Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Краткое описание методов класса свернуть
- .clean(error) ⇒ Array<String>? закрытый
Очищает пути к гемам
sorbet-runtimeв трассировке стека, если... - .print_backtrace_message ⇒ void закрытый
- .sorbet_runtime_path ⇒ String закрытый
- .tap_error_url(error) ⇒ String? закрытый
Методы, включённые из Output::Mixin
issue_reporting_message, odebug, odeprecated, odie, odisabled, ofail, oh1, oh1_title, ohai, ohai_title, onoe, opoo, opoo_outside_github_actions, opoo_without_github_actions_annotation, pretty_deprecated, pretty_disabled, pretty_duration, pretty_install_status, pretty_installed, pretty_uninstalled, pretty_upgradable, pretty_warning
Подробное описание методов класса
.clean(error) ⇒ Array<String>?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Очищает пути к гемам sorbet-runtime в трассировке стека, если...
-
установлено
verbose - первая строка трассировки стека начинается с
sorbet-runtime
- Это означает, что ошибка связана с Sorbet.
17 18 19 20 21 22 23 24 25 26 27 | # File 'utils/backtrace.rb', line 17 def self.clean(error) backtrace = error.backtrace return backtrace if Context.current.verbose? return backtrace if backtrace.blank? return backtrace if backtrace.fetch(0).start_with?(sorbet_runtime_path) old_backtrace_length = backtrace.length backtrace.reject { |line| line.start_with?(sorbet_runtime_path) } .tap { |new_backtrace| if old_backtrace_length > new_backtrace.length } end |
.print_backtrace_message ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
35 36 37 38 39 40 41 42 43 | # File 'utils/backtrace.rb', line 35 def self. return if @print_backtrace_message # This is just unactionable noise in GitHub Actions. opoo_outside_github_actions "Removed Sorbet lines from backtrace!" puts "Rerun with `--verbose` to see the original backtrace" unless Homebrew::EnvConfig.no_env_hints? @print_backtrace_message = true end |
.sorbet_runtime_path ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
30 31 32 | # File 'utils/backtrace.rb', line 30 def self.sorbet_runtime_path @sorbet_runtime_path ||= T.let("#{Gem.paths.home}/gems/sorbet-runtime", T.nilable(String)) end |
.tap_error_url(error) ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
46 47 48 49 50 51 52 53 54 55 56 57 | # File 'utils/backtrace.rb', line 46 def self.tap_error_url(error) backtrace = error.backtrace return if backtrace.blank? backtrace.each do |line| if (tap = line.match(%r{/Library/Taps/([^/]+/[^/]+)/})) return "https://github.com/#{tap[1]}/issues/new" end end nil end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Utils/Backtrace.html