linux.rb 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. module RimeDeploy
  2. module Linux
  3. class InstallRimeJob < Job
  4. def call
  5. puts intro
  6. system(OSConfig::Linux::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 #{OSConfig::Linux::ConfigPath} #{OSConfig::Linux::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("git clone #{RIME_CONFIG_REPO} #{OSConfig::Linux::ConfigPath}")
  25. sleep 1
  26. return :next
  27. end
  28. end
  29. class CopyCustomConfigJob < Job
  30. def call
  31. puts intro
  32. system(
  33. "cp ./custom/default.custom.yaml #{OSConfig::Linux::ConfigPath}/"
  34. )
  35. system(
  36. "cp ./custom/squirrel.custom.yaml #{OSConfig::Linux::ConfigPath}/"
  37. )
  38. sleep 1
  39. return :next
  40. end
  41. end
  42. class FinishedJob < Job
  43. def call
  44. puts ""
  45. puts "Tips: When finished all jobs. You need to do follow:".yellow
  46. puts "1) Restart system."
  47. puts "2) open Rime input method setting pane and click " +
  48. "DEPLOY".yellow + " button."
  49. puts "Enjoy~ 🍻"
  50. puts "more info:".yellow
  51. puts "Config path: #{OSConfig::Linux::ConfigPath}/"
  52. return :next
  53. end
  54. end
  55. Jobs = [
  56. InstallRimeJob,
  57. BackupRimeConfigJob,
  58. CloneConfigJob,
  59. CopyCustomConfigJob
  60. ]
  61. FinishedHook = [FinishedJob]
  62. end
  63. end