6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
54
55
56
57
58
|
# File 'lib/ptf/commands/init.rb', line 6
def init(force_override = false)
default_permissions = Ptf::FileSystem.file_permission
default_group = Ptf::Group.default_group
default_counter = Ptf::FileSystem.id_counter_starting_content
base_dir = Ptf::FileSystem.base_dir
return_prefix = ""
if Dir.exist? base_dir
if force_override
FileUtils.rm_r base_dir
return_prefix = "PTF workspace existed, erasing...\n"
else
return "A PTF workspace has already been initialized."
end
end
begin
Dir.mkdir(base_dir, default_permissions)
info_dir = Ptf::FileSystem.metadata_dir
Dir.mkdir(info_dir, default_permissions)
data_dir = Ptf::FileSystem.data_dir
Dir.mkdir(data_dir, default_permissions)
tmp_dir = Ptf::FileSystem.tmp_dir
Dir.mkdir(tmp_dir, default_permissions)
open_dir = Ptf::FileSystem.metadata_open_dir
Dir.mkdir(open_dir, default_permissions)
closed_dir = Ptf::FileSystem.metadata_closed_dir
Dir.mkdir(closed_dir, default_permissions)
Dir.mkdir(File.join(open_dir, default_group.name), default_permissions)
Dir.mkdir(File.join(closed_dir, default_group.name), default_permissions)
counter_file = File.new(Ptf::FileSystem.id_counter_file, "w")
counter_file.puts default_counter
counter_file.close
group_file = File.new(Ptf::FileSystem.group_list_file, "w")
group_file.puts default_group.to_s
group_file.close
rescue
FileUtils.rm_r base_dir
return return_prefix + "Failed to create PTF workspace."
end
return return_prefix + "Created PTF workspace at #{base_dir} successfully!"
end
|