module Ptf::Commands::Init
Public Class Methods
init(force_override = false)
click to toggle source
# 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