MacOS.rb 1.5 KB

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