Класс: StringInreplaceExtension Приватный
- Наследует:
- Object
- Object
- StringInreplaceExtension
- Подключает:
- Utils::Output::Mixin
- Определён в:
- utils/string_inreplace_extension.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, так как он может быть удалён или изменён без предупреждения.
Используется функцией Utils::Inreplace.inreplace.
Краткое описание атрибутов экземпляра свернуть
- #errors ⇒ Array<String> приватный
- #inreplace_string ⇒ String приватный
Краткое описание методов экземпляра свернуть
- #change_make_var!(flag, new_value) ⇒ void
Ищет определения переменных в стиле Makefile и заменяет значение на "new_value" либо полностью удаляет определение.
- #get_make_var(flag) ⇒ String
Находит указанную переменную.
- #gsub!(before, after, audit_result: true) ⇒ String?
То же, что и
String#gsub!, но выводит предупреждение, если замена не выполнена. - #initialize(string) ⇒ void конструктор приватный
- #remove_make_var!(flags) ⇒ void
Полностью удаляет присваивания переменных.
- #sub!(before, after, audit_result: true) ⇒ String?
То же, что и
String#sub!, но выводит предупреждение, если замена не выполнена.
Методы, включённые из Utils::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
Подробное описание конструкторов
#initialize(string) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
17 18 19 20 | # File 'utils/string_inreplace_extension.rb', line 17 def initialize(string) @inreplace_string = string @errors = T.let([], T::Array[String]) end |
Подробное описание атрибутов экземпляра
#errors ⇒ Array<String>
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
11 12 13 | # File 'utils/string_inreplace_extension.rb', line 11 def errors @errors end |
#inreplace_string ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
14 15 16 | # File 'utils/string_inreplace_extension.rb', line 14 def inreplace_string @inreplace_string end |
Подробное описание методов экземпляра
#change_make_var!(flag, new_value) ⇒ void
Этот метод возвращает неопределённое значение.
Ищет определения переменных в стиле Makefile и заменяет значение на "new_value" либо полностью удаляет определение.
54 55 56 57 58 59 60 | # File 'utils/string_inreplace_extension.rb', line 54 def change_make_var!(flag, new_value) return if gsub!(/^#{Regexp.escape(flag)}[ \t]*[\\?+:!]?=[ \t]*((?:.*\\\n)*.*)$/, "#{flag}=#{new_value}", audit_result: false) errors << "expected to change #{flag.inspect} to #{new_value.inspect}" end |
#get_make_var(flag) ⇒ String
Находит указанную переменную.
81 82 83 | # File 'utils/string_inreplace_extension.rb', line 81 def get_make_var(flag) T.must(inreplace_string[/^#{Regexp.escape(flag)}[ \t]*[\\?+:!]?=[ \t]*((?:.*\\\n)*.*)$/, 1]) end |
#gsub!(before, after, audit_result: true) ⇒ String?
То же, что и String#gsub!, но выводит предупреждение, если замена не выполнена.
42 43 44 45 46 47 | # File 'utils/string_inreplace_extension.rb', line 42 def gsub!(before, after, audit_result: true) before = before.to_s if before.is_a?(Pathname) result = inreplace_string.gsub!(before, after.to_s) errors << "expected replacement of #{before.inspect} with #{after.inspect}" if audit_result && result.nil? result end |
#remove_make_var!(flags) ⇒ void
Этот метод возвращает неопределённое значение.
Полностью удаляет присваивания переменных.
66 67 68 69 70 71 72 73 74 75 | # File 'utils/string_inreplace_extension.rb', line 66 def remove_make_var!(flags) Array(flags).each do |flag| # Also remove trailing \n, if present. next if gsub!(/^#{Regexp.escape(flag)}[ \t]*[\\?+:!]?=(?:.*\\\n)*.*$\n?/, "", audit_result: false) errors << "expected to remove #{flag.inspect}" end end |
#sub!(before, after, audit_result: true) ⇒ String?
То же, что и String#sub!, но выводит предупреждение, если замена не выполнена.
26 27 28 29 30 | # File 'utils/string_inreplace_extension.rb', line 26 def sub!(before, after, audit_result: true) result = inreplace_string.sub!(before, after) errors << "expected replacement of #{before.inspect} with #{after.inspect}" if audit_result && result.nil? result end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/StringInreplaceExtension.html