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
organization_name(name)

deprecated

Alias for: module_name
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