Класс: EmbeddedPatch Абстрактный Закрытый
- Наследует:
- Object
- Object
- EmbeddedPatch
- Расширен модулем:
- T::Helpers
- Подключает:
- Utils::Output::Mixin
- Определён в:
- embedded_patch.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот класс, так как он может быть удалён или изменён без предупреждения.
Его нельзя создать напрямую. Подклассы должны реализовать перечисленные ниже методы abstract.
Абстрактный класс, представляющий патч, встроенный в формулу.
Непосредственно известные подклассы
Краткое описание атрибутов экземпляра свернуть
- #directory ⇒ String, ... закрытый
- #owner ⇒ Resource::Owner? только для записи закрытый
- #strip ⇒ String, Symbol только для чтения закрытый
Краткое описание методов экземпляра свернуть
- #apply ⇒ void закрытый
- #contents ⇒ String абстрактный закрытый
- #external? ⇒ Boolean закрытый
- #initialize(strip) ⇒ void конструктор закрытый
Методы, подключённые из 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(strip) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
24 25 26 27 28 | # File 'embedded_patch.rb', line 24 def initialize(strip) @strip = strip @owner = T.let(nil, T.nilable(Resource::Owner)) @directory = T.let(nil, T.nilable(T.any(String, Pathname))) end |
Подробное описание атрибутов экземпляра
#directory ⇒ String, ...
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
21 22 23 | # File 'embedded_patch.rb', line 21 def directory @directory end |
#owner=(value) ⇒ Resource::Owner? (только для записи)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
15 16 17 | # File 'embedded_patch.rb', line 15 def owner=(value) @owner = value end |
#strip ⇒ String, Symbol (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
18 19 20 | # File 'embedded_patch.rb', line 18 def strip @strip end |
Подробное описание методов экземпляра
#apply ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
39 40 41 42 43 44 45 46 47 48 49 | # File 'embedded_patch.rb', line 39 def apply data = contents.gsub("@@HOMEBREW_PREFIX@@", HOMEBREW_PREFIX) args = %W[-g0-f-#{strip}] dir = Pathname.pwd if (subdirectory = directory.presence) dir /= subdirectory end dir.cd do Utils.safe_popen_write("patch", *args) { |p| p.write(data) } end end |
#contents ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
36 | # File 'embedded_patch.rb', line 36 def contents; end |
#external? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
31 32 33 | # File 'embedded_patch.rb', line 31 def external? false end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/EmbeddedPatch.html