class RSpecSystem::Helpers::Facter

Helper object behind RSpecSystemPuppet::Helpers#facter

Public Class Methods

new(opts, clr, &block) click to toggle source
Calls superclass method
# File lib/rspec-system-puppet/helpers/facter.rb, line 11
def initialize(opts, clr, &block)
  # Defaults etc.
  opts = {
    :puppet => false,
  }.merge(opts)

  super(opts, clr, &block)
end

Public Instance Methods

execute() click to toggle source

Gathers new results by executing the resource action

@return [RSpecSystem::Result] raw execution results

# File lib/rspec-system-puppet/helpers/facter.rb, line 23
def execute
  node = opts[:node]
  
  cmd = "facter --yaml"
  cmd += " --puppet" if opts[:puppet]
  
  sh = shell :c => cmd, :n => node

  rd = sh.to_hash
  rd[:facts] = begin
    YAML::load(sh.stdout)
  rescue
  end

  rd
end