module Librarian::Puppet::Util
Public Instance Methods
clean_uri(uri)
click to toggle source
Remove user and password from a URI object
# File lib/librarian/puppet/util.rb, line 56 def clean_uri(uri) new_uri = uri.clone new_uri.user = nil new_uri.password = nil new_uri end
cp_r(src, dest)
click to toggle source
workaround Issue #173 FileUtils.cp_r will fail if there is a symlink that points to a missing file or when the symlink is copied before the target file when preserve is true see also tickets.opscode.com/browse/CHEF-833
If the rsync configuration parameter is set, use rsync instead of FileUtils
# File lib/librarian/puppet/util.rb, line 27 def cp_r(src, dest) if rsync? if Gem.win_platform? src_clean = "#{src}".gsub(/^([a-z])\:/i,'/cygdrive/\1') dest_clean = "#{dest}".gsub(/^([a-z])\:/i,'/cygdrive/\1') else src_clean = src dest_clean = dest end debug { "Copying #{src_clean}/ to #{dest_clean}/ with rsync -avz --delete" } result = Rsync.run(File.join(src_clean, "/"), File.join(dest_clean, "/"), ['-avz', '--delete']) if result.success? debug { "Rsync from #{src_clean}/ to #{dest_clean}/ successfull" } else msg = "Failed to rsync from #{src_clean}/ to #{dest_clean}/: " + result.error raise Error, msg end else begin FileUtils.cp_r(src, dest, :preserve => true) rescue Errno::ENOENT, Errno::EACCES debug { "Failed to copy from #{src} to #{dest} preserving file types, trying again without preserving them" } FileUtils.rm_rf(dest) FileUtils.cp_r(src, dest) end end end
debug(*args, &block)
click to toggle source
# File lib/librarian/puppet/util.rb, line 8 def debug(*args, &block) environment.logger.debug(*args, &block) end
info(*args, &block)
click to toggle source
# File lib/librarian/puppet/util.rb, line 11 def info(*args, &block) environment.logger.info(*args, &block) end
module_name(name)
click to toggle source
get the module name from organization-module
# File lib/librarian/puppet/util.rb, line 69 def module_name(name) # module name can't have dashes, so let's assume it is everything after the last dash name.rpartition('-').last end
Also aliased as: organization_name
normalize_name(name)
click to toggle source
normalize module name to use organization-module instead of organization/module
# File lib/librarian/puppet/util.rb, line 64 def normalize_name(name) name.sub('/','-') end
rsync?()
click to toggle source
# File lib/librarian/puppet/util.rb, line 18 def rsync? environment.config_db.local['rsync'] == 'true' end
warn(*args, &block)
click to toggle source
# File lib/librarian/puppet/util.rb, line 14 def warn(*args, &block) environment.logger.warn(*args, &block) end