Class: Cask::Artifact::Manpage Private

Inherits:
Symlinked show all
Defined in:
cask/artifact/manpage.rb

Overview

This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.

Artifact corresponding to the manpage stanza.

Constant Summary

Constants inherited from AbstractArtifact

AbstractArtifact::DirectivesType

Instance Attribute Summary collapse

Attributes inherited from AbstractArtifact

#cask

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Symlinked

english_description, #install_phase, link_type_english_name, #summarize_installed, #uninstall_phase

Methods included from OS::Mac::Cask::Artifact::Symlinked

#create_filesystem_link

Methods inherited from Relocated

#source, #summarize, #target, #to_a

Methods included from OS::Linux::Cask::Artifact::Relocated

#add_altname_metadata

Methods inherited from AbstractArtifact

#config, dirmethod, dsl_key, english_article, english_name, read_script_arguments, #sort_order, #staged_path_join_executable, #summarize, #to_args

Methods included from Utils::Output::Mixin

#odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_installed, #pretty_outdated, #pretty_uninstalled

Constructor Details

#initialize(cask, source, section) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:



29
30
31
32
33
# File 'cask/artifact/manpage.rb', line 29

def initialize(cask, source, section)
  @section = section

  super(cask, source)
end

Instance Attribute Details

#sectionString (readonly)

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



11
12
13
# File 'cask/artifact/manpage.rb', line 11

def section
  @section
end

Class Method Details

.from_args(cask, source, _target_hash = nil) ⇒ T.attached_class

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:

  • (T.attached_class)

Raises:



20
21
22
23
24
25
26
# File 'cask/artifact/manpage.rb', line 20

def self.from_args(cask, source, _target_hash = nil)
  section = source.to_s[/\.([1-8]|n|l)(?:\.gz)?$/, 1]

  raise CaskInvalidError, "'#{source}' is not a valid man page name" unless section

  new(cask, source, section)
end

Instance Method Details

#resolve_target(target, base_dir: nil) ⇒ Pathname

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:

Returns:



36
37
38
# File 'cask/artifact/manpage.rb', line 36

def resolve_target(target, base_dir: nil)
  config.manpagedir.join("man#{section}", target)
end