brew/Library/Homebrew/cask/lib/hbc/dsl/conflicts_with.rb

30 lines
627 B
Ruby
Raw Normal View History

2016-09-24 13:52:43 +02:00
module Hbc
class DSL
class ConflictsWith
VALID_KEYS = Set.new [
2016-10-14 20:33:16 +02:00
:formula,
:cask,
:macos,
:arch,
:x11,
:java,
]
2016-08-18 22:11:42 +03:00
2017-08-05 15:56:34 +02:00
attr_reader *VALID_KEYS
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def initialize(pairs = {})
@pairs = pairs
2017-08-05 15:56:34 +02:00
VALID_KEYS.each do |key|
instance_variable_set("@#{key}", Set.new)
end
2016-09-24 13:52:43 +02:00
pairs.each do |key, value|
raise "invalid conflicts_with key: '#{key.inspect}'" unless VALID_KEYS.include?(key)
2017-08-05 15:56:34 +02:00
instance_variable_set("@#{key}", instance_variable_get("@#{key}").merge([*value]))
2016-09-24 13:52:43 +02:00
end
end
end
2016-08-18 22:11:42 +03:00
end
end