14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/rbcli-tool/helpers.rb', line 14
def self.cp_file src_file, dest_file, render_erb: true, set_executable: false, template_vars: nil, force: false
src = File.expand_path(src_file)
dest = File.expand_path(dest_file)
if File.exist?(dest) && !force
Rbcli.log.info "File #{File.basename(dest)} already exists. Overwrite? (y/N):", "TOOL"
answer = gets.chomp
answer = { 'y' => true, 'n' => false }[(answer[0] || '').downcase]
if answer
FileUtils.rm_rf(dest)
else
Rbcli.log.error "Destination file #{dest} already exists. Please delete it and try again.", "TOOL"
return false
end
end
Rbcli.log.info "Generating file " + File.basename(dest) + " ... ", "TOOL"
if render_erb
File.write(dest, self.render_erb(src, template_vars))
else
FileUtils.cp(src, dest)
end
FileUtils.chmod(set_executable ? 0755 : 0644, dest)
FileUtils.rm_f(File.join(File.dirname(dest), '.keep')) if File.exist?(File.join(File.dirname(dest), '.keep'))
true
end
|