class RSpec::Puppet::FacterTestImpl

Implements a simple hash-based version of Facter to be used in module tests that use rspec-puppet.

Public Class Methods

new() click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 7
def initialize
  @facts = {}
end

Public Instance Methods

add(name, _options = {}, &block) click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 25
def add(name, _options = {}, &block)
  raise 'Facter.add expects a block' unless block

  @facts[name.to_s] = instance_eval(&block)
end
clear() click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 17
def clear
  @facts.clear
end
debugging(arg) click to toggle source

noop methods

# File lib/rspec-puppet/facter_impl.rb, line 32
def debugging(arg); end
reset() click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 34
def reset; end
setup_logging() click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 38
def setup_logging; end
to_hash() click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 21
def to_hash
  @facts
end
value(fact_name) click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 11
def value(fact_name)
  @facts.dig(*fact_name.to_s.split('.'))
rescue TypeError
  nil
end

Private Instance Methods

setcode(string = nil) { || ... } click to toggle source
# File lib/rspec-puppet/facter_impl.rb, line 42
def setcode(string = nil, &block)
  if block
    yield
  else
    string
  end
end