403Webshell
Server IP : 77.68.64.21  /  Your IP : 216.73.217.59
Web Server : Apache
System : Linux hp3-wp-1011352.hostingp3.local 3.10.0-1160.144.1.el7.tuxcare.els9.x86_64 #1 SMP Fri Jul 10 17:06:31 UTC 2026 x86_64
User : csh2516497 ( 2094697)
PHP Version : 8.3.30
Disable Function : shell_exec,exec,system,popen,set_time_limit
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/ruby/vendor_ruby/facter/util/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/ruby/vendor_ruby/facter/util/confine.rb
# A restricting tag for fact resolution mechanisms.  The tag must be true
# for the resolution mechanism to be suitable.

require 'facter/util/values'

class Facter::Util::Confine
  attr_accessor :fact, :values

  include Facter::Util::Values

  # Add the restriction.  Requires the fact name, an operator, and the value
  # we're comparing to.
  #
  # @param fact [Symbol] Name of the fact
  # @param values [Array] One or more values to match against.
  #   They can be any type that provides a === method.
  # @param block [Proc] Alternatively a block can be supplied as a check.  The fact
  #   value will be passed as the argument to the block.  If the block returns
  #   true then the fact will be enabled, otherwise it will be disabled.
  def initialize(fact = nil, *values, &block)
    raise ArgumentError, "The fact name must be provided" unless fact or block_given?
    if values.empty? and not block_given?
      raise ArgumentError, "One or more values or a block must be provided"
    end
    @fact = fact
    @values = values
    @block = block
  end

  def to_s
    return @block.to_s if @block
    return "'%s' '%s'" % [@fact, @values.join(",")]
  end

  # Evaluate the fact, returning true or false.
  # if we have a block paramter then we only evaluate that instead
  def true?
    if @block and not @fact then
      begin
        return !! @block.call
      rescue StandardError => error
        Facter.debug "Confine raised #{error.class} #{error}"
        return false
      end
    end

    unless fact = Facter[@fact]
      Facter.debug "No fact for %s" % @fact
      return false
    end
    value = convert(fact.value)

    return false if value.nil?

    if @block then
      begin
        return !! @block.call(value)
      rescue StandardError => error
        Facter.debug "Confine raised #{error.class} #{error}"
        return false
      end
    end

    return @values.any? do |v| convert(v) === value end
  end
end

Youez - 2016 - github.com/yon3zu
LinuXploit