Класс: Cask::Artifact::Relocated Закрытый
- Наследует:
- AbstractArtifact
- Object
- AbstractArtifact
- Cask::Artifact::Relocated
- Включает:
- OS::Linux::Cask::Artifact::Relocated
- Определен в:
- cask/artifact/relocated.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удален или изменен без предупреждения.
Базовый класс для всех артефактов, имеющих исходное и целевое расположение.
Краткое описание констант
Константы, унаследованные от AbstractArtifact
AbstractArtifact::DirectivesType
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от AbstractArtifact
Краткое описание методов класса свернуть
Краткое описание методов экземпляра свернуть
- #initialize(cask, source, **target_hash) ⇒ void конструктор закрытый
- #resolve_target(target, base_dir: config.public_send(self.class.dirmethod)) ⇒ Pathname закрытый
- #source ⇒ Pathname закрытый
- #summarize ⇒ String закрытый
- #target ⇒ Pathname закрытый
- #to_a ⇒ Array<T.anything> закрытый
Методы, унаследованные от AbstractArtifact
#cask_sandbox, #cask_sandbox_command, #config, dirmethod, dsl_key, english_article, english_name, read_script_arguments, #run_cask_sandbox, #sort_order, #staged_path_join_executable, #to_args
Методы, подключенные из 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(cask, source, **target_hash) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
46 47 48 49 50 51 52 53 54 | # File 'cask/artifact/relocated.rb', line 46 def initialize(cask, source, **target_hash) super target = target_hash[:target] @source = T.let(nil, T.nilable(Pathname)) @source_string = T.let(source.to_s, String) @target = T.let(nil, T.nilable(Pathname)) @target_string = T.let(target.to_s, String) end |
Подробное описание методов класса
.from_args(cask, source_string, target_hash = nil) ⇒ T.attached_class
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
18 19 20 21 22 23 24 25 26 27 28 | # File 'cask/artifact/relocated.rb', line 18 def self.from_args(cask, source_string, target_hash = nil) if target_hash raise CaskInvalidError, cask unless target_hash.respond_to?(:keys) target_hash.assert_valid_keys(:target) end target_hash ||= {} new(cask, source_string, **target_hash) end |
Подробное описание методов экземпляра
#resolve_target(target, base_dir: config.public_send(self.class.dirmethod)) ⇒ Pathname
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
31 32 33 34 35 36 37 38 39 40 | # File 'cask/artifact/relocated.rb', line 31 def resolve_target(target, base_dir: config.public_send(self.class.dirmethod)) target = Pathname(target) if target.relative? return target. if target.descend.first.to_s == "~" return base_dir/target if base_dir end target end |
#source ⇒ Pathname
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
57 58 59 60 61 62 63 | # File 'cask/artifact/relocated.rb', line 57 def source @source ||= begin base_path = cask.staged_path base_path = base_path.join(T.must(cask.url).only_path) if cask.url&.only_path.present? base_path.join(@source_string) end end |
#summarize ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
78 79 80 81 | # File 'cask/artifact/relocated.rb', line 78 def summarize target_string = @target_string.empty? ? "" : " -> #{@target_string}" "#{@source_string}#{target_string}" end |
#target ⇒ Pathname
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
66 67 68 | # File 'cask/artifact/relocated.rb', line 66 def target @target ||= resolve_target(@target_string.presence || source.basename) end |
#to_a ⇒ Array<T.anything>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
71 72 73 74 75 | # File 'cask/artifact/relocated.rb', line 71 def to_a [@source_string].tap do |ary| ary << { target: @target_string } unless @target_string.empty? end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Cask/Artifact/Relocated.html