module Librarian::Puppet::Util
Public Instance Methods
Source
# File lib/librarian/puppet/util.rb, line 60 def clean_uri(uri) new_uri = uri.clone new_uri.user = nil new_uri.password = nil new_uri end
Remove user and password from a URI object
Source
# File lib/librarian/puppet/util.rb, line 29 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}/ successful" } 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 do "Failed to copy from #{src} to #{dest} preserving file types, trying again without preserving them" end FileUtils.rm_rf(dest) FileUtils.cp_r(src, dest) end end end
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
Source
# File lib/librarian/puppet/util.rb, line 8 def debug(...) environment.logger.debug(...) end
Source
# File lib/librarian/puppet/util.rb, line 12 def info(...) environment.logger.info(...) end
Source
# File lib/librarian/puppet/util.rb, line 73 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
get the module name from organization-module
Source
# File lib/librarian/puppet/util.rb, line 68 def normalize_name(name) name.sub('/', '-') end
normalize module name to use organization-module instead of organization/module
Source
# File lib/librarian/puppet/util.rb, line 20 def rsync? environment.config_db.local['rsync'] == 'true' end
Source
# File lib/librarian/puppet/util.rb, line 16 def warn(...) environment.logger.warn(...) end