# File lib/puppet/provider/confine_collection.rb, line 6
 6:   def confine(hash)
 7:     if hash.include?(:for_binary)
 8:       for_binary = true
 9:       hash.delete(:for_binary)
10:     else
11:       for_binary = false
12:     end
13:     hash.each do |test, values|
14:       if klass = Puppet::Provider::Confine.test(test)
15:         @confines << klass.new(values)
16:         @confines[-1].for_binary = true if for_binary
17:       else
18:         confine = Puppet::Provider::Confine.test(:variable).new(values)
19:         confine.name = test
20:         @confines << confine
21:       end
22:       @confines[-1].label = self.label
23:     end
24:   end