31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | 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 |