Spec-Zone.ru › Homebrew

Класс: Keg::Relocation Закрытый

Наследует:
Object
  • Object
  • Keg::Relocation
показать всё
Определён в:
keg_relocate.rb

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

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

RELOCATABLE_PATH_REGEX_PREFIX =

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

/(?:(?<=-F|-I|-L|-isystem)|(?<![a-zA-Z0-9]))/

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

  • .path_to_regex(path) ⇒ Regexp закрытый

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

  • #add_replacement_pair(key, old_value, new_value, path: false) ⇒ void закрытый
  • #freeze ⇒ Relocation закрытый
  • #initialize ⇒ void конструктор закрытый
  • #replace_text!(text) ⇒ Boolean закрытый
  • #replacement_pair_for(key) ⇒ Array<([String, Regexp], String)> закрытый

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

#initialize ⇒ void

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



22
23
24
# File 'keg_relocate.rb', line 22

def initialize
  @replacement_map = T.let({}, T::Hash[Symbol, [T.any(String, Regexp), String]])
end

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

.path_to_regex(path) ⇒ Regexp

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

Параметры:

  • path (String, Regexp)

Возвращает:

  • (Regexp)


60
61
62
63
64
65
66
67
68
# File 'keg_relocate.rb', line 60

def self.path_to_regex(path)
  path = case path
  when String
    Regexp.escape(path)
  when Regexp
    path.source
  end
  Regexp.new(RELOCATABLE_PATH_REGEX_PREFIX.source + path)
end

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

#add_replacement_pair(key, old_value, new_value, path: false) ⇒ void

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

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

Параметры:

  • key (Symbol)
  • old_value (String, Regexp)
  • new_value (String)
  • path (Boolean) (по умолчанию: false)


33
34
35
36
# File 'keg_relocate.rb', line 33

def add_replacement_pair(key, old_value, new_value, path: false)
  old_value = self.class.path_to_regex(old_value) if path
  @replacement_map[key] = [old_value, new_value]
end

#freeze ⇒ Relocation

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

Возвращает:

  • (Relocation)


27
28
29
30
# File 'keg_relocate.rb', line 27

def freeze
  @replacement_map.freeze
  super
end

#replace_text!(text) ⇒ Boolean

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

Параметры:

  • text (String)

Возвращает:

  • (Boolean)


44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'keg_relocate.rb', line 44

def replace_text!(text)
  replacements = @replacement_map.values.to_h

  sorted_keys = replacements.keys.sort_by do |key|
    key.is_a?(String) ? key.length : 999
  end.reverse

  any_changed = T.let(nil, T.nilable(String))
  sorted_keys.each do |key|
    changed = text.gsub!(key, replacements.fetch(key))
    any_changed ||= changed
  end
  !any_changed.nil?
end

#replacement_pair_for(key) ⇒ Array<([String, Regexp], String)>

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

Параметры:

  • key (Symbol)

Возвращает:

  • (Array<([String, Regexp], String)>)


39
40
41
# File 'keg_relocate.rb', line 39

def replacement_pair_for(key)
  @replacement_map.fetch(key)
end

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

Spec-Zone.ru

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