class RSpec::Puppet::Augeas::Resource

Attributes

logs[R]
logs_idempotent[R]
resource[R]
root[R]
txn[R]
txn_idempotent[R]

Public Class Methods

finalize(root) click to toggle source
# File lib/rspec-puppet-augeas/resource.rb, line 20
def self.finalize(root)
  proc { FileUtils.rm_rf root }
end
new(resource, fixtures) click to toggle source
# File lib/rspec-puppet-augeas/resource.rb, line 7
def initialize(resource, fixtures)
  @resource = resource
  @logs = []

  # The directory where the resource has run will be valuable, so keep it
  # for analysis and tests by the user
  @root = load_fixtures(resource, fixtures)
  ObjectSpace.define_finalizer(self, self.class.finalize(@root))

  resource[:root] = @root
  @txn = apply(resource, @logs)
end

Public Instance Methods

idempotent() click to toggle source

Run the resource a second time, against the output dir from the first

@return [Puppet::Transaction] repeated transaction

# File lib/rspec-puppet-augeas/resource.rb, line 27
def idempotent
  @logs_idempotent = []
  root = load_fixtures(resource, {"." => "#{@root}/."})

  oldroot = resource[:root]
  resource[:root] = root
  @txn_idempotent = apply(resource, @logs_idempotent)
  FileUtils.rm_r root
  resource[:root] = oldroot

  @txn_idempotent
end
to_s() click to toggle source
# File lib/rspec-puppet-augeas/resource.rb, line 40
def to_s
  resource.to_s
end