lib/lookfile.rb in lookfile-0.1.2 vs lib/lookfile.rb in lookfile-0.1.3

- old
+ new

@@ -28,13 +28,11 @@ end [added_files, error_files] end def show(base_dir = BASE_DIR) - lookfile_dir = load_lookfile_dir(base_dir) - files_regex = %r{^#{lookfile_dir}(?!\/.git)(.+)$} - files_path = `find #{lookfile_dir} -type f`.scan(files_regex).flatten + files_path = list_files(base_dir) show_files('Files on lookfile:', files_path) end def status(base_dir = BASE_DIR) update_files(base_dir) @@ -47,24 +45,50 @@ return 'Nothing to update' if message.nil? Git.push(base_dir) if Git.remote?(base_dir) message end + def restore(files_path = [], base_dir = BASE_DIR) + user_path = File.expand_path('~') + lookfile_dir = load_lookfile_dir(base_dir) + files_path = [files_path] unless files_path.is_a?(Array) + message = 'Restore Files:' + files_path.each do |file| + path = file.gsub(%r{\/home\/[^\/]+}, user_path) + folder = path.scan(%r{(.+)+\/}).flatten.first + message += "\n #{path}" if cp_file(lookfile_dir + file, folder) + end + message + end + def set_repository(repository_ssh_name, base_dir = BASE_DIR) Git.set_remote(repository_ssh_name, base_dir) Git.rebase(base_dir) end def add_one_file(file_path, base_dir = BASE_DIR) lookfile_dir = load_lookfile_dir(base_dir) folder_path = lookfile_dir + file_path.scan(%r{(.+)\/}).flatten.first + cp_file(file_path, folder_path) + end + + def cp_file(file_path, folder_path) FileUtils.mkpath(folder_path) begin FileUtils.cp(file_path, folder_path) true - rescue + rescue => error + puts folder_path + puts error false end + end + + def list_files(base_dir = BASE_DIR) + lookfile_dir = load_lookfile_dir(base_dir) + files_regex = %r{^#{lookfile_dir}(?!\/.git)(.+)$} + files_path = `find #{lookfile_dir} -type f`.scan(files_regex).flatten + files_path end def show_files(header_message, files_path) message = header_message.to_s unless files_path.empty? files_path.each do |file_path|