aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cask/lib/hbc/dsl/conflicts_with.rb
blob: b2de2cd45e48f9f3db50dad0a667dc26a5915ec2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Hbc::DSL::ConflictsWith
  VALID_KEYS = Set.new [
                         :formula,
                         :cask,
                         :macos,
                         :arch,
                         :x11,
                         :java,
                       ]

  attr_accessor(*VALID_KEYS)
  attr_accessor :pairs

  def initialize(pairs = {})
    @pairs = pairs
    pairs.each do |key, value|
      raise "invalid conflicts_with key: '#{key.inspect}'" unless VALID_KEYS.include?(key)
      writer_method = "#{key}=".to_sym
      send(writer_method, value)
    end
  end

  def to_yaml
    @pairs.to_yaml
  end

  def to_s
    @pairs.inspect
  end
end