lib/puppet/provider/confine.rb in puppet-3.3.2 vs lib/puppet/provider/confine.rb in puppet-3.4.0.rc1

- old
+ new

@@ -1,80 +1,6 @@ -# The class that handles testing whether our providers -# actually work or not. -require 'puppet/util' +# Confines have been moved out of the provider as they are also used for other things. +# This provides backwards compatibility for people still including this old location. +require 'puppet/provider' +require 'puppet/confine' -class Puppet::Provider::Confine - include Puppet::Util - - @tests = {} - - class << self - attr_accessor :name - end - - def self.inherited(klass) - name = klass.to_s.split("::").pop.downcase.to_sym - raise "Test #{name} is already defined" if @tests.include?(name) - - klass.name = name - - @tests[name] = klass - end - - def self.test(name) - unless @tests[name] - begin - require "puppet/provider/confine/#{name}" - rescue LoadError => detail - unless detail.to_s =~ /No such file|cannot load such file/i - warn "Could not load confine test '#{name}': #{detail}" - end - # Could not find file - end - end - @tests[name] - end - - attr_reader :values - - # Mark that this confine is used for testing binary existence. - attr_accessor :for_binary - def for_binary? - for_binary - end - - # Used for logging. - attr_accessor :label - - def initialize(values) - values = [values] unless values.is_a?(Array) - @values = values - end - - # Provide a hook for the message when there's a failure. - def message(value) - "" - end - - # Collect the results of all of them. - def result - values.collect { |value| pass?(value) } - end - - # Test whether our confine matches. - def valid? - values.each do |value| - unless pass?(value) - Puppet.debug(label + ": " + message(value)) - return false - end - end - - return true - ensure - reset - end - - # Provide a hook for subclasses. - def reset - end -end +Puppet::Provider::Confine = Puppet::Confine