Module: Librarian::Puppet::Util
- Included in:
- Action::Resolve, Cli, Dependency, Lockfile::Parser, Source::Forge, Source::Forge::Repo, Source::Git, Source::GitHubTarball, Source::GitHubTarball::Repo, Source::Local
- Defined in:
- lib/librarian/puppet/util.rb
Instance Method Summary collapse
-
#clean_uri(uri) ⇒ Object
Remove user and password from a URI object.
-
#cp_r(src, dest) ⇒ Object
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.
- #debug(*args, &block) ⇒ Object
- #info(*args, &block) ⇒ Object
-
#module_name(name) ⇒ Object
(also: #organization_name)
get the module name from organization-module.
-
#normalize_name(name) ⇒ Object
normalize module name to use organization-module instead of organization/module.
- #rsync? ⇒ Boolean
- #warn(*args, &block) ⇒ Object
Instance Method Details
#clean_uri(uri) ⇒ Object
Remove user and password from a URI object
56 57 58 59 60 61 |
# 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) ⇒ Object
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
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# 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}/ 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 { "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) ⇒ Object
8 9 10 |
# File 'lib/librarian/puppet/util.rb', line 8 def debug(*args, &block) environment.logger.debug(*args, &block) end |
#info(*args, &block) ⇒ Object
11 12 13 |
# File 'lib/librarian/puppet/util.rb', line 11 def info(*args, &block) environment.logger.info(*args, &block) end |
#module_name(name) ⇒ Object Also known as: organization_name
get the module name from organization-module
69 70 71 72 |
# 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 |
#normalize_name(name) ⇒ Object
normalize module name to use organization-module instead of organization/module
64 65 66 |
# File 'lib/librarian/puppet/util.rb', line 64 def normalize_name(name) name.sub('/','-') end |
#rsync? ⇒ Boolean
18 19 20 |
# File 'lib/librarian/puppet/util.rb', line 18 def rsync? environment.config_db.local['rsync'] == 'true' end |
#warn(*args, &block) ⇒ Object
14 15 16 |
# File 'lib/librarian/puppet/util.rb', line 14 def warn(*args, &block) environment.logger.warn(*args, &block) end |