MacOS.rb 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. module RimeDeploy
  2. module Mac
  3. class InstallRimeJob < Job
  4. def call
  5. puts intro
  6. system(Config::MacOS::InstallCmd)
  7. sleep 1
  8. return :next
  9. end
  10. end
  11. class BackupRimeConfigJob < Job
  12. def call
  13. puts "Job: BackupRimeConfigJob".blue
  14. system(
  15. "mv #{Config::MacOS::ConfigPath} #{Config::MacOS::ConfigPath}.#{Time.now.to_i}.old"
  16. )
  17. sleep 1
  18. return :next
  19. end
  20. end
  21. class CloneConfigJob < Job
  22. def call
  23. puts intro
  24. system(
  25. "git clone #{Config::RIME_CONFIG_REPO} #{Config::MacOS::ConfigPath}"
  26. )
  27. sleep 1
  28. return :next
  29. end
  30. end
  31. class CopyCustomConfigJob < Job
  32. def call
  33. puts intro
  34. system("cp ./custom/default.custom.yaml #{Config::MacOS::ConfigPath}/")
  35. system("cp ./custom/squirrel.custom.yaml #{Config::MacOS::ConfigPath}/")
  36. sleep 1
  37. return :next
  38. end
  39. end
  40. class FinishedJob < Job
  41. def call
  42. puts ""
  43. puts "Tips: When finished all jobs. You need to do follow:".yellow
  44. puts "1) Restart system."
  45. puts "2) open Rime input method setting pane and click " +
  46. "DEPLOY".yellow + " button."
  47. puts "Enjoy~ 🍻"
  48. puts "more info:".yellow
  49. puts "Config path: #{Config::MacOS::ConfigPath}/"
  50. return :next
  51. end
  52. end
  53. Jobs = [
  54. InstallRimeJob,
  55. BackupRimeConfigJob,
  56. CloneConfigJob,
  57. CopyCustomConfigJob
  58. ]
  59. FinishedHook = [FinishedJob]
  60. end
  61. end