Spec-Zone.ru › Homebrew

Класс: Cask::Artifact::Relocated Закрытый

Наследует:
AbstractArtifact
  • Object
  • AbstractArtifact
  • Cask::Artifact::Relocated
показать все
Включает:
OS::Linux::Cask::Artifact::Relocated
Определен в:
cask/artifact/relocated.rb

Обзор

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

Базовый класс для всех артефактов, имеющих исходное и целевое расположение.

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

Moved, Symlinked

Краткое описание констант

Константы, унаследованные от AbstractArtifact

AbstractArtifact::DirectivesType

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

Атрибуты, унаследованные от AbstractArtifact

#cask

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

  • .from_args(cask, source_string, target_hash = nil) ⇒ T.attached_class закрытый

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

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

Параметры:

  • cask (Cask)
  • source (String, Pathname)
  • target_hash (String, Pathname)


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

Параметры:

  • cask (Cask)
  • source_string (String, Pathname)
  • target_hash (T.untyped) (по умолчанию: nil)

Возвращает:

  • (T.attached_class)


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

Параметры:

  • target (String, Pathname)
  • base_dir (Pathname, nil) (по умолчанию: config.public_send(self.class.dirmethod))

Возвращает:

  • (Pathname)


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.expand_path if target.descend.first.to_s == "~"
    return base_dir/target if base_dir
  end

  target
end

#source ⇒ Pathname

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

Возвращает:

  • (Pathname)


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

Возвращает:

  • (String)


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

Возвращает:

  • (Pathname)


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

Возвращает:

  • (Array<T.anything>)


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

Spec-Zone.ru

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