class Kafo::BaseContext
Private Class Methods
clear_caches()
click to toggle source
# File lib/kafo/base_context.rb, line 22 def self.clear_caches @facts = nil @facter_path = nil end
facter_path()
click to toggle source
# File lib/kafo/base_context.rb, line 34 def self.facter_path @facter_path ||= PuppetCommand.search_puppet_path('facter') end
facts()
click to toggle source
# File lib/kafo/base_context.rb, line 27 def self.facts @facts ||= begin result = run_command("#{facter_path} --json") symbolize(JSON.load(result) || {}) end end
run_command(command)
click to toggle source
# File lib/kafo/base_context.rb, line 38 def self.run_command(command) stdout, _stderr, _status = Open3.capture3(*PuppetCommand.format_command(command)) stdout end
symbolize(data)
click to toggle source
# File lib/kafo/base_context.rb, line 11 def self.symbolize(data) case data when Hash Hash[data.map { |key, value| [key.to_sym, symbolize(value)] }] when Array data.map { |v| symbolize(v) } else data end end
Public Instance Methods
facts()
click to toggle source
# File lib/kafo/base_context.rb, line 5 def facts self.class.facts end