Module: Squared::Common::System
Instance Method Summary
collapse
#as_a, #finalize!, #get!, #message, #set!
Instance Method Details
#copy_d(src, dest, glob: ['**/*'], create: false, verbose: true) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/squared/common/system.rb', line 22
def copy_d(src, dest, glob: ['**/*'], create: false, verbose: true)
raise message(src, dest, hint: 'not found') if !create && !dest.exist?
subdir = []
files = 0
dest.mkpath if create
as_a(glob).each do |val|
Dir.glob(src.join(val)) do |path|
ent = Pathname.new(path)
next if ent.directory?
target = dest.join(ent.relative_path_from(src))
dir = target.dirname
if !subdir.include?(dir.to_s)
dir.mkpath
subdir << dir.to_s
end
copy_f ent, target
files += 1
end
end
puts message(dest.realpath, subdir.size.to_s, files.to_s) if verbose
end
|
#copy_f(src, dest, overwrite: true, verbose: false) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/squared/common/system.rb', line 46
def copy_f(src, dest, overwrite: true, verbose: false)
if !overwrite
path = Pathname.new(dest)
if path.directory?
src = as_a(src).reject { |val| path.join(File.basename(val)).exist? }
elsif path.exist?
return
end
end
FileUtils.cp(src, dest, verbose: verbose)
end
|
#shell(*cmd, **kwargs) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/squared/common/system.rb', line 10
def shell(*cmd, **kwargs)
if /^2\.[0-5]\./.match?(RUBY_VERSION)
exception = kwargs.delete(:exception)
ret = system(*cmd, **kwargs)
raise $?.to_s if !ret && exception
ret
else
system(*cmd, **kwargs)
end
end
|