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
|