8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/rubytus/storage.rb', line 8
def validates_data_dir(data_dir)
if Pathname.new(data_dir).relative?
data_dir = File.join(ENV['PWD'], data_dir)
end
begin
unless File.directory?(data_dir)
Dir.mkdir(data_dir)
end
rescue SystemCallError => _
raise PermissionError, "Couldn't create `data_dir` in #{data_dir}"
end
unless File.world_writable?(data_dir)
begin
File.chmod(0777, data_dir)
rescue Errno::EPERM
raise PermissionError, "Couldn't make `data_dir` in #{data_dir} writable"
end
end
data_dir
end
|