lib/code_kindly/utils/file.rb in codekindly-utils-0.0.1 vs lib/code_kindly/utils/file.rb in codekindly-utils-0.0.2
- old
+ new
@@ -4,54 +4,53 @@
class << self
def all (path)
CodeKindly::Utils::Dir.all path
end
- def choose_from_options (task, h = nil)
+ def choose_from_options (directory_path, h = nil)
require "highline"
h ||= HighLine.new
- dir_path = ::File.join(Rails.root, "db", "data", task.name.split(":").last)
- file_opts = file_options(dir_path)
+ file_opts = file_options(directory_path)
return nil if file_opts.blank?
msg = "Select an existing file:"
file_opts.each do |k,v|
msg += "\n #{k}: #{v}"
end
msg += "\n 0: None of the above"
option = h.ask(msg, Integer)
file_path = file_opts.fetch(option, nil)
if file_path.present?
- file_path = ::File.join(dir_path, file_path)
+ file_path = ::File.join(directory_path, file_path)
end
file_path
end
def file_options (path)
- require 'map'
+ require "map"
options = Map.new
key = 0
find(path).each do |file|
options[key+=1] = file
end
options
end
def find (path)
- require 'fileutils'
+ require "fileutils"
all(path).select { |entry| ::File.file?("#{path}/#{entry}") }
end
def trash! (file_string)
- require 'open3'
+ require "open3"
stdin, stdout, stderr = Open3.popen3("ls #{file_string}")
if stdout.gets
# move to trash (or delete) existing downloaded files
# sudo gem install osx-trash (http://www.dribin.org/dave/blog/archives/2008/05/24/osx_trash/)
- stdin, stdout, stderr = Open3.popen3('which trash')
+ stdin, stdout, stderr = Open3.popen3("which trash")
trash = stdout.gets
command = case
when trash then "#{trash.strip} #{file_string}" # output of `which` has ending \n
- when ::File.directory?('~/.Trash') then "mv #{file_string} ~/.Trash"
+ when ::File.directory?("~/.Trash") then "mv #{file_string} ~/.Trash"
else "rm #{file_string}"
end
Kernel.system(command)
end
end