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|