Sha256: 27eceef088d68e3acb1c0265dc8cd388db000f8fc3e4b9e59e60241e0308aa8c

Contents?: true

Size: 1.09 KB

Versions: 29

Compression:

Stored size: 1.09 KB

Contents

module MCollective
  # This is a class that gives access to the configured fact provider
  # such as MCollectives::Facts::Facter that uses Reductive Labs facter
  #
  # The actual provider is pluggable and configurable using the 'factsource'
  # configuration option.
  #
  # To develop a new factsource simply create a class under MCollective::Facts::
  # and provide the following classes:
  #
  #   self.get_fact(fact)
  #   self.has_fact?(fact)
  #
  # You can also just inherit from MCollective::Facts::Base and provide just the
  #
  #   self.get_facts
  #
  # method that should return a hash of facts.
  module Facts
    require "mcollective/facts/base"

    @@config = nil # rubocop:disable Style/ClassVars

    # True if we know of a specific fact else false
    def self.has_fact?(fact, value)
      PluginManager["facts_plugin"].get_fact(fact) == value
    end

    # Get the value of a fact
    def self.get_fact(fact)
      PluginManager["facts_plugin"].get_fact(fact)
    end

    # Get the value of a fact
    def self.[](fact)
      PluginManager["facts_plugin"].get_fact(fact)
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
choria-mcorpc-support-2.26.5 lib/mcollective/facts.rb
choria-mcorpc-support-2.26.4 lib/mcollective/facts.rb
choria-mcorpc-support-2.26.3 lib/mcollective/facts.rb
choria-mcorpc-support-2.26.2 lib/mcollective/facts.rb
choria-mcorpc-support-2.26.1 lib/mcollective/facts.rb
choria-mcorpc-support-2.26.0 lib/mcollective/facts.rb
choria-mcorpc-support-2.25.3 lib/mcollective/facts.rb
choria-mcorpc-support-2.25.2 lib/mcollective/facts.rb
choria-mcorpc-support-2.25.1 lib/mcollective/facts.rb
choria-mcorpc-support-2.25.0 lib/mcollective/facts.rb
choria-mcorpc-support-2.24.4 lib/mcollective/facts.rb
choria-mcorpc-support-2.24.3 lib/mcollective/facts.rb
choria-mcorpc-support-2.24.2 lib/mcollective/facts.rb
choria-mcorpc-support-2.24.1 lib/mcollective/facts.rb
choria-mcorpc-support-2.24.0 lib/mcollective/facts.rb
choria-mcorpc-support-2.23.3 lib/mcollective/facts.rb
choria-mcorpc-support-2.23.2 lib/mcollective/facts.rb
choria-mcorpc-support-2.23.1 lib/mcollective/facts.rb
choria-mcorpc-support-2.23.0 lib/mcollective/facts.rb
choria-mcorpc-support-2.23.0.pre lib/mcollective/facts.rb