Guest User

Untitled

a guest
Jul 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. require 'json'
  2.  
  3. action, name, path = ARGV
  4.  
  5. filename = ".dropp"
  6.  
  7. $config = JSON.parse(File.read("#{ENV['USERPROFILE']}/#{filename}")) || {}
  8.  
  9. def truncate(string, max=65)
  10. string.length > max ? "#{string[0...max]}..." : string
  11. end
  12.  
  13. def add name, path
  14. $config[name] = path
  15. save
  16. end
  17.  
  18. def get name
  19. $config[name]
  20. end
  21.  
  22. def open_path name
  23. `start #{$config[name]}`
  24. end
  25.  
  26. def save
  27. File.open("#{ENV['USERPROFILE']}/.dropp", "w") do |f|
  28. f.puts $config.to_json
  29. end
  30. end
  31.  
  32. case action
  33. when "add"
  34. add name, path
  35. when "get"
  36. # For Windows
  37. `echo #{get name} | clip`
  38. when "open"
  39. open_path name
  40. when "list"
  41. $config.each do |key, value|
  42. puts "#{key} - #{truncate(value)}"
  43. end
  44. else
  45. usage = """\n Usage:
  46. add <name> <url|path> // Add url or path by name to the db
  47. get <name> // Get url or path by name
  48. open <name> // Copy url or path by name to clipboard
  49. list // Lists all saved items"""
  50. puts usage
  51. end
Add Comment
Please, Sign In to add comment