Spec-Zone.ru › Homebrew

Класс: 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. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • string (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Array<String>)


11
12
13
# File 'utils/string_inreplace_extension.rb', line 11

def errors
  @errors
end

#inreplace_string ⇒ String

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

Возвращает:

  • (String)


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" либо полностью удаляет определение.

Параметры:

  • flag (String)
  • new_value (String, Pathname)


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

Находит указанную переменную.

Параметры:

  • flag (String)

Возвращает:

  • (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!, но выводит предупреждение, если замена не выполнена.

Параметры:

  • before (Pathname, Regexp, String)
  • after (Pathname, String)
  • audit_result (Boolean) (по умолчанию: true)

Возвращает:

  • (String, nil)


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

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

Полностью удаляет присваивания переменных.

Параметры:

  • flags (String, Array<String>)


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!, но выводит предупреждение, если замена не выполнена.

Параметры:

  • before (Regexp, String)
  • after (String)
  • audit_result (Boolean) (по умолчанию: true)

Возвращает:

  • (String, nil)


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

Spec-Zone.ru

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