Class: Cask::DSL::ConflictsWith Private

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
cask/dsl/conflicts_with.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.

Class corresponding to the conflicts_with stanza.

Constant Summary collapse

VALID_KEYS =

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

[:cask].freeze

Instance Method Summary collapse

Constructor Details

#initialize(**options) ⇒ 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:

  • options (T.anything)


15
16
17
18
19
20
21
22
# File 'cask/dsl/conflicts_with.rb', line 15

def initialize(**options)
  options.assert_valid_keys(*VALID_KEYS)

  conflicts = options.transform_values { |v| Set.new(Kernel.Array(v)) }
  conflicts.default = Set.new

  super(conflicts)
end

Instance Method Details

#merge!(other) ⇒ T.self_type

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.self_type)


25
26
27
28
# File 'cask/dsl/conflicts_with.rb', line 25

def merge!(other)
  other.to_h.each { |key, values| __getobj__[key] |= Set.new(values) }
  self
end

#to_hHash{Symbol => Array<String>}

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:



31
32
33
# File 'cask/dsl/conflicts_with.rb', line 31

def to_h
  __getobj__.transform_values(&:to_a)
end

#to_json(generator) ⇒ String

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:

  • generator (T.anything)

Returns:



36
37
38
# File 'cask/dsl/conflicts_with.rb', line 36

def to_json(generator)
  to_h.to_json(generator)
end