Module: Homebrew::Bundle::Skipper Private

Defined in:
bundle/skipper.rb

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

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.failed_taps=(value) ⇒ Array<String>? (writeonly)

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:



38
39
40
# File 'bundle/skipper.rb', line 38

def failed_taps=(value)
  @failed_taps = value
end

.skipped_entries=(value) ⇒ Hash{Symbol => Array<String>, nil}?

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:



44
45
46
# File 'bundle/skipper.rb', line 44

def skipped_entries=(value)
  @skipped_entries = value
end

Class Method Details

.skip?(entry, silent: false) ⇒ Boolean

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:

  • entry (Dsl::Entry)
  • silent (Boolean) (defaults to: false)

Returns:

  • (Boolean)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'bundle/skipper.rb', line 9

def skip?(entry, silent: false)
  require "bundle/brew"

  full_name = entry.options[:full_name]
  return true if @failed_taps&.any? do |tap|
    prefix = "#{tap}/"
    entry.name.start_with?(prefix) || (full_name.is_a?(String) && full_name.start_with?(prefix))
  end

  entry_type_skips = Array(skipped_entries[entry.type])
  return false if entry_type_skips.empty?

  # Check the name or ID particularly for Mac App Store entries where they
  # can have spaces in the names (and the `mas` output format changes on
  # occasion).
  entry_ids = [entry.name, entry.options[:id]&.to_s].compact
  return false unless entry_type_skips.intersect?(entry_ids)

  puts Formatter.warning "Skipping #{entry.name}" unless silent
  true
end

.tap_failed!(tap_name) ⇒ 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.

This method returns an undefined value.

Parameters:



32
33
34
35
# File 'bundle/skipper.rb', line 32

def tap_failed!(tap_name)
  @failed_taps ||= T.let([], T.nilable(T::Array[String]))
  @failed_taps << tap_name
end