puppet-vcsrepo/lib/puppet/provider/vcsrepo.rb
Brett Lentz 81787d4940 new features for vcsrepo.
* support recursive chown on repo
* support checking out tags (git)
* support adding excludes/ignored files
* dropped a few unused methods
* rework git provider logic a bit
2010-09-13 16:32:26 -07:00

35 lines
768 B
Ruby

require 'tmpdir'
require 'digest/md5'
require 'fileutils'
# Abstract
class Puppet::Provider::Vcsrepo < Puppet::Provider
private
def set_ownership
owner = @resource.value(:owner) || nil
group = @resource.value(:group) || nil
FileUtils.chown_R(owner, group, @resource.value(:path))
end
def path_exists?
File.directory?(@resource.value(:path))
end
# Note: We don't rely on Dir.chdir's behavior of automatically returning the
# value of the last statement -- for easier stubbing.
def at_path(&block) #:nodoc:
value = nil
Dir.chdir(@resource.value(:path)) do
value = yield
end
value
end
def tempdir
@tempdir ||= File.join(Dir.tmpdir, 'vcsrepo-' + Digest::MD5.hexdigest(@resource.value(:path)))
end
end