Guest User

Untitled

a guest
Feb 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. # MUST BE RUBY 1.8.7
  3. require 'rubygems'
  4. require 'appscript' # sudo gem install rb-appscript
  5. include Appscript
  6.  
  7. TaskPaper = app('TaskPaper')
  8.  
  9. if !TaskPaper.is_running? && ARGV.length > 0
  10. TaskPaper.launch
  11. TaskPaper.open(ARGV[0])
  12. elsif TaskPaper.is_running?
  13. TaskPaper.document.save
  14. else
  15. puts "TaskPaper is not running and no file to open provided; aborting"
  16. exit
  17. end
  18.  
  19. entries = TaskPaper.document.entries.get.flatten
  20. done_entries = entries.select { |entry| entry.tags.get.any? { |tag| tag.name.get == "done" } }
  21. if done_entries.empty?
  22. puts "TaskPaper has no done tagged entries; aborting"
  23. exit
  24. end
  25.  
  26. git_message = done_entries.collect { |entry| "FIXED: #{entry.name.get}" }.join("\n")
  27.  
  28. puts "committing with message:\n#{git_message}\n"
  29. system("git add .")
  30. system("git commit -m \"#{git_message}\"")
  31.  
  32. done_entries.each { |entry| entry.delete }
  33.  
  34. TaskPaper.document.save
Add Comment
Please, Sign In to add comment