jinda 0.7.7.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +46 -29
  3. data/Rakefile +103 -1
  4. data/app/assets/config/manifest.js +4 -1
  5. data/app/assets/javascripts/jinda_bootstrap.js +20 -0
  6. data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
  7. data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
  8. data/app/config/routes.rb +38 -28
  9. data/app/controllers/concerns/jinda_general_concern.rb +86 -87
  10. data/app/controllers/concerns/jinda_run_concern.rb +184 -184
  11. data/app/controllers/jinda_controller.rb +23 -22
  12. data/bin/lint_modified +21 -0
  13. data/config/routes.rb +41 -22
  14. data/lib/generators/jinda/config_generator.rb +102 -81
  15. data/lib/generators/jinda/install_generator.rb +305 -148
  16. data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
  17. data/lib/generators/jinda/installer/gems_install.rb +125 -127
  18. data/lib/generators/jinda/minitest_generator.rb +19 -18
  19. data/lib/generators/jinda/rspec_generator.rb +15 -14
  20. data/lib/generators/jinda/templates/DOCKER.md +188 -0
  21. data/lib/generators/jinda/templates/Dockerfile +15 -5
  22. data/lib/generators/jinda/templates/README.md +3 -3
  23. data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
  24. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
  25. data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +2 -0
  26. data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +2 -0
  27. data/{test/dummy → lib/generators/jinda/templates}/app/controllers/adminltes_controller.rb +1 -0
  28. data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +80 -78
  29. data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +4 -2
  30. data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +11 -9
  31. data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +40 -44
  32. data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +10 -8
  33. data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +23 -24
  34. data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +3 -1
  35. data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +25 -27
  36. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +16 -18
  37. data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +13 -14
  38. data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +4 -4
  39. data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +14 -14
  40. data/lib/generators/jinda/templates/app/controllers/mindmap_editor_controller.rb +74 -0
  41. data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
  42. data/lib/generators/jinda/templates/app/helpers/application_helper.rb +21 -20
  43. data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
  44. data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
  45. data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
  46. data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
  47. data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
  48. data/lib/generators/jinda/templates/app/helpers/mindmap_editor_helper.rb +3 -0
  49. data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
  50. data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
  51. data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
  52. data/lib/generators/jinda/templates/app/jinda/index.mm +276 -298
  53. data/lib/generators/jinda/templates/app/jinda/template/index.mm +1 -0
  54. data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +5 -3
  55. data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +6 -4
  56. data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +5 -5
  57. data/lib/generators/jinda/templates/app/models/address.rb +10 -8
  58. data/lib/generators/jinda/templates/app/models/article.rb +8 -6
  59. data/lib/generators/jinda/templates/app/models/comment.rb +10 -8
  60. data/lib/generators/jinda/templates/app/models/identity.rb +11 -10
  61. data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -33
  62. data/lib/generators/jinda/templates/app/models/jinda/jinda_module.rb +15 -0
  63. data/lib/generators/jinda/templates/app/models/jinda/module.rb +14 -10
  64. data/lib/generators/jinda/templates/app/models/jinda/notice.rb +15 -11
  65. data/lib/generators/jinda/templates/app/models/jinda/role.rb +11 -7
  66. data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +23 -20
  67. data/lib/generators/jinda/templates/app/models/jinda/service.rb +19 -15
  68. data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +42 -36
  69. data/lib/generators/jinda/templates/app/models/note.rb +14 -10
  70. data/lib/generators/jinda/templates/app/models/param.rb +23 -20
  71. data/lib/generators/jinda/templates/app/models/person.rb +9 -7
  72. data/lib/generators/jinda/templates/app/models/user.rb +42 -41
  73. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
  74. data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
  75. data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
  76. data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
  77. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
  78. data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
  79. data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
  80. data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_sidebar.haml +1 -1
  81. data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
  82. data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
  83. data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
  84. data/lib/generators/jinda/templates/bin/lint_modified +21 -0
  85. data/lib/generators/jinda/templates/config/mongoid.yml +3 -3
  86. data/lib/generators/jinda/templates/config/mongoid.yml-docker +3 -3
  87. data/lib/generators/jinda/templates/config/mongoid.yml-localhost +3 -3
  88. data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
  89. data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
  90. data/lib/generators/jinda/templates/docker-compose.yml +10 -14
  91. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
  92. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
  93. data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
  94. data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
  95. data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
  96. data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
  97. data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
  98. data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
  99. data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
  100. data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
  101. data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
  102. data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
  103. data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
  104. data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
  105. data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
  106. data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
  107. data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  108. data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
  109. data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
  110. data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
  111. data/lib/jinda/date_helpers.rb +50 -41
  112. data/lib/jinda/gem_helpers.rb +10 -8
  113. data/lib/jinda/gen_class.rb +14 -12
  114. data/lib/jinda/gen_controller.rb +9 -8
  115. data/lib/jinda/gen_freemind.rb +33 -32
  116. data/lib/jinda/gen_helpers.rb +146 -139
  117. data/lib/jinda/gen_models.rb +125 -131
  118. data/lib/jinda/gen_modules.rb +21 -16
  119. data/lib/jinda/gen_runseq.rb +71 -67
  120. data/lib/jinda/gen_services.rb +74 -80
  121. data/lib/jinda/gen_xmain.rb +38 -36
  122. data/lib/jinda/get_app.rb +31 -29
  123. data/lib/jinda/helpers.rb +4 -4
  124. data/lib/jinda/init_vars.rb +41 -36
  125. data/lib/jinda/mindmap_converter.rb +196 -0
  126. data/lib/jinda/railtie.rb +10 -2
  127. data/lib/jinda/rake_views.rb +61 -60
  128. data/lib/jinda/refresh.rb +67 -61
  129. data/lib/jinda/themes.rb +80 -60
  130. data/lib/jinda/version.rb +3 -1
  131. data/lib/jinda.rb +2 -0
  132. data/lib/tasks/jinda.rake +25 -22
  133. data/test/INTEGRATION_TEST_README.md +374 -0
  134. data/test/LOCAL_DEVELOPMENT.md +345 -0
  135. data/test/README.md +243 -0
  136. data/test/TEST_INFRASTRUCTURE.md +412 -0
  137. data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
  138. data/test/UNIT_TESTS_README.md +366 -0
  139. data/test/api_notes_controller_test.rb +231 -0
  140. data/test/dummy/DOCKER.md +188 -0
  141. data/test/dummy/Dockerfile +15 -7
  142. data/test/dummy/Gemfile +38 -29
  143. data/test/dummy/Gemfile.lock +671 -292
  144. data/test/dummy/app/assets/config/manifest.js +4 -0
  145. data/test/dummy/app/channels/application_cable/channel.rb +2 -0
  146. data/test/dummy/app/channels/application_cable/connection.rb +2 -0
  147. data/test/dummy/app/controllers/admins_controller.rb +4 -2
  148. data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
  149. data/test/dummy/app/controllers/application_controller.rb +11 -9
  150. data/test/dummy/app/controllers/articles_controller.rb +40 -44
  151. data/test/dummy/app/controllers/comments_controller.rb +10 -8
  152. data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
  153. data/test/dummy/app/controllers/devs_controller.rb +2 -0
  154. data/test/dummy/app/controllers/docs_controller.rb +23 -24
  155. data/test/dummy/app/controllers/identities_controller.rb +3 -1
  156. data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
  157. data/test/dummy/app/controllers/notes_controller.rb +25 -27
  158. data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
  159. data/test/dummy/app/controllers/sessions_controller.rb +13 -14
  160. data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
  161. data/test/dummy/app/controllers/users_controller.rb +14 -14
  162. data/test/dummy/app/helpers/admins_helper.rb +2 -0
  163. data/test/dummy/app/helpers/application_helper.rb +21 -20
  164. data/test/dummy/app/helpers/articles_helper.rb +2 -0
  165. data/test/dummy/app/helpers/basic_helper.rb +2 -0
  166. data/test/dummy/app/helpers/comments_helper.rb +2 -0
  167. data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
  168. data/test/dummy/app/helpers/devs_helper.rb +2 -0
  169. data/test/dummy/app/helpers/mindmap_editor_helper.rb +3 -0
  170. data/test/dummy/app/helpers/pictures_helper.rb +2 -0
  171. data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
  172. data/test/dummy/app/helpers/users_helper.rb +2 -0
  173. data/test/dummy/app/jinda/index.mm +384 -486
  174. data/test/dummy/app/jinda/template/index.mm +1 -0
  175. data/test/dummy/app/mailers/application_mailer.rb +2 -2
  176. data/test/dummy/app/mailers/application_mailer.rb-org +4 -0
  177. data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
  178. data/test/dummy/app/mailers/note_mailer.rb +6 -4
  179. data/test/dummy/app/mailers/user_mailer.rb +5 -5
  180. data/test/dummy/app/models/address.rb +2 -0
  181. data/test/dummy/app/models/article.rb +2 -0
  182. data/test/dummy/app/models/comment.rb +3 -2
  183. data/test/dummy/app/models/identity.rb +11 -10
  184. data/test/dummy/app/models/jinda/doc.rb +36 -33
  185. data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
  186. data/test/dummy/app/models/jinda/module.rb +14 -10
  187. data/test/dummy/app/models/jinda/notice.rb +15 -11
  188. data/test/dummy/app/models/jinda/role.rb +11 -7
  189. data/test/dummy/app/models/jinda/runseq.rb +23 -20
  190. data/test/dummy/app/models/jinda/service.rb +19 -15
  191. data/test/dummy/app/models/jinda/xmain.rb +42 -36
  192. data/test/dummy/app/models/note.rb +3 -8
  193. data/test/dummy/app/models/param.rb +23 -20
  194. data/test/dummy/app/models/person.rb +2 -0
  195. data/test/dummy/app/models/picture.rb +11 -0
  196. data/test/dummy/app/models/user.rb +42 -41
  197. data/test/dummy/app/views/admins/index.haml +21 -0
  198. data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
  199. data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
  200. data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
  201. data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
  202. data/test/dummy/app/views/articles/show.html.haml +2 -2
  203. data/test/dummy/app/views/devs/index.haml +21 -0
  204. data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
  205. data/test/dummy/app/views/jinda/index.html.haml +3 -2
  206. data/test/dummy/app/views/layouts/application.haml +2 -2
  207. data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
  208. data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
  209. data/test/dummy/bin/docker-entrypoint +3 -0
  210. data/test/dummy/bin/lint_modified +21 -0
  211. data/test/dummy/bin/setup +1 -1
  212. data/test/dummy/config/application.rb +7 -2
  213. data/test/dummy/config/boot.rb +2 -1
  214. data/test/dummy/config/cable.yml +1 -1
  215. data/test/dummy/config/credentials.yml.enc +1 -1
  216. data/test/dummy/config/environments/development.rb +7 -1
  217. data/test/dummy/config/environments/production.rb +30 -26
  218. data/test/dummy/config/environments/test.rb +12 -8
  219. data/test/dummy/config/initializers/content_security_policy.rb +2 -2
  220. data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -3
  221. data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
  222. data/test/dummy/config/initializers/mongoid.rb +24 -9
  223. data/test/dummy/config/initializers/omniauth.rb +5 -0
  224. data/test/dummy/config/initializers/permissions_policy.rb +11 -9
  225. data/test/dummy/config/locales/en.yml +11 -13
  226. data/test/dummy/config/mongoid.yml +172 -53
  227. data/test/dummy/config/mongoid.yml-docker +3 -3
  228. data/test/dummy/config/mongoid.yml-localhost +3 -3
  229. data/test/dummy/config/puma.rb +21 -20
  230. data/test/dummy/config/routes.rb +7 -1
  231. data/test/dummy/docker-compose-mongodb.yml +13 -0
  232. data/test/dummy/docker-compose-web.yml +36 -0
  233. data/test/dummy/docker-compose.yml +10 -18
  234. data/test/dummy/log/development.log +5834 -2261
  235. data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
  236. data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
  237. data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
  238. data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
  239. data/test/dummy/spec/factories/pictures.rb +5 -0
  240. data/test/dummy/spec/features/userlogins_spec.rb +12 -15
  241. data/test/dummy/spec/mailers/note_spec.rb +5 -8
  242. data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
  243. data/test/dummy/spec/models/note_spec.rb +36 -35
  244. data/test/dummy/spec/models/picture_spec.rb +5 -0
  245. data/test/dummy/spec/models/user_spec.rb +10 -8
  246. data/test/dummy/spec/rails_helper.rb +29 -31
  247. data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
  248. data/test/dummy/spec/requests/devs_spec.rb +7 -0
  249. data/test/dummy/spec/spec_helper.rb +19 -17
  250. data/test/dummy/spec/support/authentication_helper.rb +8 -7
  251. data/test/dummy/spec/support/databasecleaner.rb +3 -1
  252. data/test/dummy/spec/support/factory_bot.rb +7 -5
  253. data/test/dummy/spec/support/omniauth_macros.rb +14 -19
  254. data/test/dummy/spec/support/request_spec_helper.rb +3 -1
  255. data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  256. data/test/generated_app_test.rb +261 -0
  257. data/test/installation_test.rb +368 -0
  258. data/test/integration_test.rb +398 -0
  259. data/test/jenkins_stage_test.rb +182 -0
  260. data/test/note_model_test.rb +224 -0
  261. data/test/note_validation_integration_test.rb +292 -0
  262. data/test/run_unit_tests.sh +91 -0
  263. data/test/test_helper.rb +8 -16
  264. metadata +188 -60
  265. data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +0 -15
  266. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +0 -28
  267. data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -10
  268. data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +0 -19
  269. data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -7
  270. data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -147
  271. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
  272. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -34
  273. data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
  274. data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
  275. data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
  276. data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
  277. data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
  278. data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
  279. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
  280. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
  281. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
  282. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
  283. data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
  284. data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
  285. data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
  286. data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
  287. data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
  288. data/test/dummy/Guardfile +0 -96
  289. data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
  290. data/test/dummy/app/controllers/password_resets.rb +0 -28
  291. data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
  292. data/test/dummy/app/views/identities/new-bak.html.haml +0 -32
  293. data/test/dummy/app/views/layouts/application.haml.bak +0 -4
  294. data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
  295. data/test/dummy/app/views/layouts/lte/_header.haml +0 -111
  296. data/test/dummy/app/views/layouts/lte/_rightbar.haml +0 -123
  297. data/test/dummy/app/views/sessions/new-bak.html.haml +0 -22
  298. data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
  299. data/test/dummy/tmp/development_secret.txt +0 -1
  300. data/test/integration/navigation_test.rb +0 -7
  301. data/test/jinda_test.rb +0 -7
  302. /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/application.scss +0 -0
  303. /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/jinda.scss +0 -0
  304. /data/lib/generators/jinda/templates/app/mailers/{application_mailer.rb → application_mailer.rb-org} +0 -0
  305. /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard1.haml +0 -0
  306. /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard2.haml +0 -0
  307. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_flash.haml +0 -0
  308. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_footer.haml +0 -0
  309. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu.haml +0 -0
  310. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu_mm.haml +0 -0
  311. /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
@@ -1,182 +1,326 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jinda
2
4
  module Generators
3
5
  class InstallGenerator < Rails::Generators::Base
4
- desc "Install jinda component to existing Rails app "
6
+ desc 'Install jinda component to existing Rails app '
5
7
  def self.source_root
6
- File.dirname(__FILE__) + "/templates"
8
+ "#{File.dirname(__FILE__)}/templates"
7
9
  end
10
+
8
11
  def setup_gems
12
+ # Helper method to check if gem already in Gemfile
13
+ def gem_in_gemfile?(gem_name)
14
+ gemfile_path = File.join(destination_root, 'Gemfile')
15
+ return false unless File.exist?(gemfile_path)
16
+
17
+ gemfile_content = File.read(gemfile_path)
18
+ # Match gem declaration with various formats
19
+ gemfile_content.match?(/^\s*gem\s+['"]#{Regexp.escape(gem_name)}['"]/)
20
+ end
21
+
9
22
  # define required gems: jinda_gem, jinda_dev_gem
10
- jinda_gem =
23
+ jinda_gem =
11
24
  [
12
- ["bson", "4.4.2"],
13
- ["maruku", "~> 0.7.3"],
14
- ["bcrypt"],
15
- ["rouge"],
16
- ["normalize-rails"],
17
- ["font-awesome-rails"],
18
- ["font-awesome-sass", "~> 5.12.0"],
19
- ["meta-tags"],
20
- ["jquery-turbolinks", "2.1.0"],
21
- ["mongo", "2.11.3"],
22
- ["turbolinks_render"],
23
- ["haml-rails", "~> 2.0.1"],
24
- ["haml", "~> 5.1", ">= 5.1.2"],
25
- ["mail"],
26
- ["prawn"],
27
- ["redcarpet"],
28
- ["oauth2", "1.4.4"],
29
- ["omniauth", "1.9.1"],
30
- ["omniauth-oauth2", "1.6.0"],
31
- ["omniauth-identity", "~> 1.1.1"],
32
- ["omniauth-facebook", "6.0.0"],
33
- ["omniauth-google-oauth2", "0.8.0"],
34
- ["dotenv-rails"],
35
- ["cloudinary", "1.13.2"],
36
- ["kaminari", "1.2.0"],
37
- ["jquery-rails", "4.3.5"],
38
- ["mongoid"],
39
- ["rexml", "~> 3.2.4"]
40
-
41
- ]
25
+ ['bson', '~> 4.15'],
26
+ ['maruku', '~> 0.7.3'],
27
+ ['bcrypt'],
28
+ ['rouge'],
29
+ ['normalize-rails'],
30
+ ['font-awesome-rails'],
31
+ ['font-awesome-sass', '~> 5.12.0'],
32
+ ['meta-tags'],
33
+ ['jquery-turbolinks', '2.1.0'],
34
+ ['mongo', '~> 2.19'],
35
+ ['turbolinks_render'],
36
+ ['haml-rails', '~> 2.0.1'],
37
+ ['haml', '~> 5.1'],
38
+ ['mail'],
39
+ ['prawn'],
40
+ ['redcarpet'],
41
+ ['oauth2', '~> 2.0'],
42
+ ['omniauth', '~> 2.0'],
43
+ ['omniauth-oauth2', '~> 1.8'],
44
+ ['omniauth-identity', '~> 3.1'],
45
+ ['omniauth-facebook', '10.0.0'],
46
+ ['omniauth-google-oauth2', '~> 1.1'],
47
+ ['dotenv-rails'],
48
+ ['cloudinary', '~> 1.13'],
49
+ ['kaminari', '~> 1.2'],
50
+ ['jquery-rails', '~> 4.3'],
51
+ ['mongoid'],
52
+ ['rexml', '~> 3.2']
53
+ ]
42
54
 
43
- jinda_custom =
55
+ jinda_custom =
44
56
  [
45
- ["mongoid-paperclip", require: "mongoid_paperclip"],
46
- ["kaminari-mongoid", "1.0.1"],
47
- ["nokogiri", "~> 1.11.0"]
57
+ ['mongoid-paperclip', { require: 'mongoid_paperclip' }],
58
+ ['kaminari-mongoid', '~> 1.0']
48
59
  ]
49
60
 
50
61
  jinda_dev_gem =
51
62
  [
52
- ["shoulda"],
53
- ["rspec"],
54
- ["rspec-rails"],
55
- ["better_errors"],
56
- ["binding_of_caller"],
57
- ["pry-byebug"],
58
- ["factory_bot_rails"],
59
- ["database_cleaner-mongoid"],
60
- ["guard"],
61
- ["guard-rspec"],
62
- ["guard-minitest"],
63
- ["capybara"],
64
- ["selenium-webdriver"],
65
- ["rb-fsevent"],
66
- ["valid_attribute"],
67
- ["faker"]
63
+ ['shoulda'],
64
+ ['rspec'],
65
+ ['rspec-rails'],
66
+ ['better_errors'],
67
+ ['binding_of_caller'],
68
+ ['pry-byebug'],
69
+ ['factory_bot_rails'],
70
+ ['database_cleaner-mongoid'],
71
+ ['guard'],
72
+ ['guard-rspec'],
73
+ ['guard-minitest'],
74
+ ['capybara'],
75
+ ['selenium-webdriver'],
76
+ ['rb-fsevent'],
77
+ ['valid_attribute'],
78
+ ['faker'],
79
+ ['rubocop'],
80
+ ['rubocop-rails'],
81
+ ['rubocop-performance'],
82
+ ['rubocop-minitest']
68
83
  ]
69
84
 
70
- # Check each jinda_gem and create new array if found one otherwise just create.
71
- # Open Gemfile add gem if not exist
85
+ # Add regular gems (skip if already in Gemfile)
72
86
  jinda_gem.each do |g|
73
- unless (%x(gem list -e --no-versions #{g[0]})) == "#{g[0]}\n"
74
- if g.count == 2
75
- gem g[0], g[1]
76
- else
77
- gem g[0]
78
- end
87
+ gem_name = g[0]
88
+ next if gem_in_gemfile?(gem_name)
89
+
90
+ if g.count == 2
91
+ gem gem_name, g[1]
92
+ say " Adding #{gem_name} #{g[1]} to Gemfile", :green
79
93
  else
80
- if g.count == 2
81
- xgem_0 = %x(gem list -e #{g[0]})
82
- unless xgem_0.include?(("#{g[1]}").gsub(/[~> ]/, ''))
83
- say " Found existing #{xgem_0} in Gemfile or System, Please edit Gemfile", :red
84
- gem g[0], g[1]
85
- else
86
- say " Checking #{g[0]} found Ver. #{g[1]} already exist in Gemfile", :green
87
- end
88
- end
89
- say " SKIP adding #{g[0]} in Gemfile", :yellow
94
+ gem gem_name
95
+ say " Adding #{gem_name} to Gemfile", :green
90
96
  end
91
97
  end
92
98
 
93
- # create list of gem in sub-group dev and test
94
- jinda_dev_new = Array.new
95
- jinda_dev_gem.each do |g|
96
- unless (%x(gem list -e --no-versions #{g[0]})) == "#{g[0]}\n"
97
- jinda_dev_new << g
99
+ # Add custom gems with special options (skip if already in Gemfile)
100
+ jinda_custom.each do |g|
101
+ gem_name = g[0]
102
+ next if gem_in_gemfile?(gem_name)
103
+
104
+ if g.count == 2 && g[1].is_a?(Hash)
105
+ gem gem_name, g[1]
106
+ say " Adding #{gem_name} with options to Gemfile", :green
107
+ elsif g.count == 2
108
+ gem gem_name, g[1]
109
+ say " Adding #{gem_name} #{g[1]} to Gemfile", :green
98
110
  else
99
- say " #{g[0]} already exist in Gemfile", :yellow
111
+ gem gem_name
112
+ say " Adding #{gem_name} to Gemfile", :green
100
113
  end
101
114
  end
102
- unless jinda_dev_new.count == 0
103
- gem_group :development, :test do
104
- jinda_dev_new.each do |n|
105
- if n.count == 1
106
- gem n[0]
107
- else
108
- gem n[0], n[1]
109
- end
115
+
116
+ # Add development/test gems (skip if already in Gemfile)
117
+ jinda_dev_new = jinda_dev_gem.reject { |g| gem_in_gemfile?(g[0]) }
118
+
119
+ return if jinda_dev_new.empty?
120
+
121
+ gem_group :development, :test do
122
+ jinda_dev_new.each do |g|
123
+ gem_name = g[0]
124
+ if g.count == 2
125
+ gem gem_name, g[1]
126
+ say " Adding #{gem_name} #{g[1]} to development/test group", :green
127
+ else
128
+ gem gem_name
129
+ say " Adding #{gem_name} to development/test group", :green
110
130
  end
111
131
  end
112
132
  end
133
+ end
113
134
 
114
- # create list of custom gem
115
- jinda_custom_new = Array.new
116
- jinda_custom.each do |g|
117
- unless (%x(gem list -e --no-versions #{g[0]})) == "#{g[0]}\n"
118
- jinda_custom_new << g
135
+ def setup_app
136
+ # inside("public") { run "FileUtils.mv index.html index.html.bak" }
137
+ inside('db') do
138
+ File.file?('seeds.rb') ? (FileUtils.mv 'seeds.rb', 'seeds.rb.bak') : (say 'no seeds.rb', :green)
139
+ end
140
+ inside('app/views/layouts') do
141
+ if File.file?('application.html.erb')
142
+ (FileUtils.mv 'application.html.erb',
143
+ 'application.html.erb.bak')
119
144
  else
120
- say " #{g[0]} already exist in Gemfile", :yellow
145
+ (say 'no app/views/layout/ application.html.erb',
146
+ :blue)
121
147
  end
122
148
  end
123
- unless jinda_custom_new.count == 0
124
- jinda_custom_new.each do |c|
125
- say " Checking if #{c[0]} already exist in Gemfile", :yellow
126
- if c.count == 1
127
- gem c[0]
128
- else
129
- gem c[0], c[1]
130
- end
131
- end
149
+ inside('app/controllers') do
150
+ if File.file?('application_controller.rb')
151
+ (FileUtils.mv 'application_controller.rb',
152
+ 'application_controller.rb.bak')
153
+ else
154
+ (say 'no app/controller/application_controller.rb, :blue ')
155
+ end
132
156
  end
133
-
134
- end
135
- def setup_app
136
- # inside("public") { run "FileUtils.mv index.html index.html.bak" }
137
- inside("db") {(File.file? "seeds.rb") ? (FileUtils.mv "seeds.rb", "seeds.rb.bak") : ( say "no seeds.rb", :green)}
138
- inside("app/views/layouts") {(File.file? "application.html.erb") ? (FileUtils.mv 'application.html.erb', 'application.html.erb.bak') : ( say "no app/views/layout/ application.html.erb", :blue )}
139
- inside("app/controllers") {(File.file? "application_controller.rb") ? (FileUtils.mv 'application_controller.rb', 'application_controller.rb.bak' ) : ( say "no app/controller/application_controller.rb, :blue ")}
140
- inside("app/helpers") {(File.file? "application_helper.rb") ? (FileUtils.mv 'application_helper.rb', 'application_helper.rb.bak') : ( say "no app/helpers/application_helper.rb", :blue)}
141
- inside("app/assets/javascripts") {(File.file? 'application.js') ? (FileUtils.mv 'application.js', 'application.js.bak') : ( say "no application.js", :blue)}
142
- inside("app/assets/stylesheets") {(File.file? "application.css") ? (FileUtils.mv 'application.css', 'application.css.bak') : ( say "no application.css", :blue)}
143
- inside("config/initializers") {(File.file? "omniauth.rb") ? (FileUtils.mv 'omniauth.rb', 'omniauth.rb.bak') : (say "no omniauth.rb", :blue)}
144
- inside("config/initializers") {(File.file? "mongoid.rb") ? (FileUtils.mv 'mongoid.rb', 'mongoid.rb.bak') : (say "no mongoid.rb")}
145
- inside("app/assets/config") {(File.file? "manifest.js") ? (FileUtils.mv "manifest.js", "manifest.js-rails") : (puts "backup to manifest.js-rails")}
146
- directory "app"
147
- directory "spec"
148
- directory "db"
149
- directory "config"
150
- directory "dot"
151
- #
157
+ inside('app/helpers') do
158
+ if File.file?('application_helper.rb')
159
+ (FileUtils.mv 'application_helper.rb',
160
+ 'application_helper.rb.bak')
161
+ else
162
+ (say 'no app/helpers/application_helper.rb',
163
+ :blue)
164
+ end
165
+ end
166
+ inside('app/assets/javascripts') do
167
+ if File.file?('application.js')
168
+ (FileUtils.mv 'application.js',
169
+ 'application.js.bak')
170
+ else
171
+ (say 'no application.js', :blue)
172
+ end
173
+ end
174
+ inside('app/assets/stylesheets') do
175
+ if File.file?('application.css')
176
+ (FileUtils.mv 'application.css',
177
+ 'application.css.bak')
178
+ else
179
+ (say 'no application.css', :blue)
180
+ end
181
+ end
182
+ inside('config/initializers') do
183
+ File.file?('omniauth.rb') ? (FileUtils.mv 'omniauth.rb', 'omniauth.rb.bak') : (say 'no omniauth.rb', :blue)
184
+ end
185
+ inside('config/initializers') do
186
+ File.file?('mongoid.rb') ? (FileUtils.mv 'mongoid.rb', 'mongoid.rb.bak') : (say 'no mongoid.rb')
187
+ end
188
+ inside('app/assets/config') do
189
+ if File.file?('manifest.js')
190
+ (FileUtils.mv 'manifest.js',
191
+ 'manifest.js-rails')
192
+ else
193
+ (Rails.logger.debug 'backup to manifest.js-rails')
194
+ end
195
+ end
196
+ directory 'app'
197
+ directory 'spec'
198
+ directory 'db'
199
+ directory 'config'
200
+ directory 'dot'
201
+ directory 'bin'
202
+ # Make lint_modified executable
203
+ inside('bin') { run 'chmod +x lint_modified' }
204
+ #
152
205
  # CHECK IF EXISTING CODE THEN REQUIRED MANUAL MIGRATION
153
206
  # If no javascripts.js or css (New application), then can use javascript.js or css from org files.
154
207
  # inside("app/assets/javascripts") {(File.file? "application.js") ? ( say "Please include application-org.js in application.js", :red) : (FileUtils.mv 'application-org.js', 'application.js')}
155
208
  # inside("app/assets/stylesheets") {(File.file? "application.css") ? ( say "Please include application-org.css in application.css", :red) : (FileUtils.mv 'application-org.css', 'application.css')}
156
209
  # inside("app/assets/stylesheets") {(File.file? "application.css.scss") ? ( say "Please include application-org.css.scss in application.css.scss", :red) : (FileUtils.mv 'application-org.css.scss', 'application.css.scss')}
157
- inside("app/controllers") {(File.file? "admins_controller.rb") ? ( say " Please merge existing jinda_org/admins_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/admins_controller.rb', 'admins_controller.rb')}
158
- inside("app/controllers") {(File.file? "articles_controller.rb") ? ( say " Please merge existing jinda_org/articles_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/articles_controller.rb', 'articles_controller.rb')}
159
- inside("app/controllers") {(File.file? "comments_controller.rb") ? ( say " Please merge existing jinda_org/comments_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/comments_controller.rb', 'comments_controller.rb')}
160
- inside("app/controllers") {(File.file? "docs_controller.rb") ? ( say " Please merge existing jinda_org/docs_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/docs_controller.rb', 'docs_controller.rb')}
161
- inside("app/controllers") {(File.file? "identities_controller.rb") ? ( say " Please merge existing jinda_org/identities_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/identities_controller.rb', 'identities_controller.rb')}
162
- inside("app/controllers") {(File.file? "application_controller.rb") ? ( say " Pleas merge existing jinda_org/application_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/application_controller.rb', 'application_controller.rb')}
210
+ inside('app/controllers') do
211
+ if File.file?('admins_controller.rb')
212
+ (say ' Please merge existing jinda_org/admins_controller.rb after this installation',
213
+ :yellow)
214
+ else
215
+ (FileUtils.mv 'jinda_org/admins_controller.rb',
216
+ 'admins_controller.rb')
217
+ end
218
+ end
219
+ inside('app/controllers') do
220
+ if File.file?('articles_controller.rb')
221
+ (say ' Please merge existing jinda_org/articles_controller.rb after this installation',
222
+ :yellow)
223
+ else
224
+ (FileUtils.mv 'jinda_org/articles_controller.rb',
225
+ 'articles_controller.rb')
226
+ end
227
+ end
228
+ inside('app/controllers') do
229
+ if File.file?('comments_controller.rb')
230
+ (say ' Please merge existing jinda_org/comments_controller.rb after this installation',
231
+ :yellow)
232
+ else
233
+ (FileUtils.mv 'jinda_org/comments_controller.rb',
234
+ 'comments_controller.rb')
235
+ end
236
+ end
237
+ inside('app/controllers') do
238
+ if File.file?('docs_controller.rb')
239
+ (say ' Please merge existing jinda_org/docs_controller.rb after this installation',
240
+ :yellow)
241
+ else
242
+ (FileUtils.mv 'jinda_org/docs_controller.rb',
243
+ 'docs_controller.rb')
244
+ end
245
+ end
246
+ inside('app/controllers') do
247
+ if File.file?('identities_controller.rb')
248
+ (say ' Please merge existing jinda_org/identities_controller.rb after this installation',
249
+ :yellow)
250
+ else
251
+ (FileUtils.mv 'jinda_org/identities_controller.rb',
252
+ 'identities_controller.rb')
253
+ end
254
+ end
255
+ inside('app/controllers') do
256
+ if File.file?('application_controller.rb')
257
+ (say ' Pleas merge existing jinda_org/application_controller.rb after this installation',
258
+ :yellow)
259
+ else
260
+ (FileUtils.mv 'jinda_org/application_controller.rb',
261
+ 'application_controller.rb')
262
+ end
263
+ end
163
264
  ## Moved to Engine
164
265
  # inside("app/controllers") {(File.file? "jinda_controller.rb") ? ( say " Please merge existing jinda_org/jinda_controller.rb after this installation", :red) : (FileUtils.mv 'jinda_org/jinda_controller.rb', 'jinda_controller.rb')}
165
- inside("app/controllers") {(File.file? "password_resets_controller.rb") ? ( say " Please merge existing jinda_org/password_resets_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/password_resets_controller.rb', 'password_resets_controller.rb')}
166
- inside("app/controllers") {(File.file? "password_resets.rb") ? ( say " Please merge existing jinda_org/password_resets.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/password_resets.rb', 'password_resets.rb')}
167
- inside("app/controllers") {(File.file? "sessions_controller.rb") ? ( say " Please merge existing jinda_org/sessions_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/sessions_controller.rb', 'sessions_controller.rb')}
168
- inside("app/controllers") {(File.file? "users_controller.rb") ? ( say " Please merge existing jinda_org/users_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/users_controller.rb', 'users_controller.rb')}
169
- inside("app/controllers") {(File.file? "sitemap_controller.rb") ? ( say " Please merge existing jinda_org/sitemap_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/sitemap_controller.rb', 'sitemap_controller.rb')}
170
- inside("app/controllers") {(File.file? "notes_controller.rb") ? ( say " Please merge existing jinda_org/notes_controller.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/notes_controller.rb', 'notes_controller.rb')}
266
+ inside('app/controllers') do
267
+ if File.file?('password_resets_controller.rb')
268
+ (say ' Please merge existing jinda_org/password_resets_controller.rb after this installation',
269
+ :yellow)
270
+ else
271
+ (FileUtils.mv 'jinda_org/password_resets_controller.rb',
272
+ 'password_resets_controller.rb')
273
+ end
274
+ end
275
+ # inside("app/controllers") {(File.file? "password_resets.rb") ? ( say " Please merge existing jinda_org/password_resets.rb after this installation", :yellow) : (FileUtils.mv 'jinda_org/password_resets.rb', 'password_resets.rb')}
276
+ inside('app/controllers') do
277
+ if File.file?('sessions_controller.rb')
278
+ (say ' Please merge existing jinda_org/sessions_controller.rb after this installation',
279
+ :yellow)
280
+ else
281
+ (FileUtils.mv 'jinda_org/sessions_controller.rb',
282
+ 'sessions_controller.rb')
283
+ end
284
+ end
285
+ inside('app/controllers') do
286
+ if File.file?('users_controller.rb')
287
+ (say ' Please merge existing jinda_org/users_controller.rb after this installation',
288
+ :yellow)
289
+ else
290
+ (FileUtils.mv 'jinda_org/users_controller.rb',
291
+ 'users_controller.rb')
292
+ end
293
+ end
294
+ inside('app/controllers') do
295
+ if File.file?('sitemap_controller.rb')
296
+ (say ' Please merge existing jinda_org/sitemap_controller.rb after this installation',
297
+ :yellow)
298
+ else
299
+ (FileUtils.mv 'jinda_org/sitemap_controller.rb',
300
+ 'sitemap_controller.rb')
301
+ end
302
+ end
303
+ inside('app/controllers') do
304
+ if File.file?('notes_controller.rb')
305
+ (say ' Please merge existing jinda_org/notes_controller.rb after this installation',
306
+ :yellow)
307
+ else
308
+ (FileUtils.mv 'jinda_org/notes_controller.rb',
309
+ 'notes_controller.rb')
310
+ end
311
+ end
171
312
  end
313
+
172
314
  # routes created each line as reversed order in routes
173
315
  # Moved routes to Engine
174
316
  def setup_routes
175
- route "root :to => 'jinda#index'"
317
+ route "post 'mindmap_editor/save'"
318
+ route "get 'mindmap_editor/edit'"
319
+ route "root :to => 'jinda#index'"
176
320
  end
177
321
 
178
322
  def setup_env
179
- FileUtils.mv "README.md", "README.md.bak"
323
+ FileUtils.mv 'README.md', 'README.md.bak'
180
324
  create_file 'README.md', ''
181
325
  application do
182
326
  %q{
@@ -204,7 +348,7 @@ module Jinda
204
348
  # config.action_mailer.perform_deliveries = true
205
349
  }
206
350
  end
207
- initializer "jinda.rb" do
351
+ initializer 'jinda.rb' do
208
352
  %q{# encoding: utf-8
209
353
  MM = "#{Rails.root}/app/jinda/index.mm"
210
354
  DEFAULT_TITLE = 'Jinda'
@@ -222,8 +366,8 @@ IMAGE_LOCATION = "upload"
222
366
  end
223
367
  # Move mongoid.rb to jinda:config
224
368
  # To avoid repeate install jinda:install crash
225
- initializer "mongoid.rb" do
226
- %q{# encoding: utf-8
369
+ initializer 'mongoid.rb' do
370
+ '# encoding: utf-8
227
371
  #
228
372
  # Mongoid 6 follows the new pattern of AR5 requiring a belongs_to relation to always require its parent
229
373
  # belongs_to` will now trigger a validation error by default if the association is not present.
@@ -232,24 +376,37 @@ IMAGE_LOCATION = "upload"
232
376
  # `config.active_record.belongs_to_required_by_default = true` in initializer.)
233
377
  #
234
378
  Mongoid::Config.belongs_to_required_by_default = false
235
- }
379
+ '
236
380
  end
237
381
 
238
- inject_into_file 'config/environment.rb', :after => "initialize!" do
239
- "\n\n# hack to fix cloudinary error https://github.com/archiloque/rest-client/issues/141" +
382
+ inject_into_file 'config/environment.rb', after: 'initialize!' do
383
+ initializer 'mindmap_converter.rb' do
384
+ %q{# frozen_string_literal: true
385
+
386
+ # Load MindmapConverter module
387
+ require 'jinda/mindmap_converter'
388
+ }
389
+ end
390
+ "\n\n# hack to fix cloudinary error https://github.com/archiloque/rest-client/issues/141" \
240
391
  "\nclass Hash\n remove_method :read\nrescue\nend"
241
392
  end
242
- inject_into_file 'config/environments/development.rb', :after => 'config.action_mailer.raise_delivery_errors = false' do
243
- "\n config.action_mailer.default_url_options = { :host => 'localhost:3000' }"
393
+ inject_into_file 'config/environments/development.rb',
394
+ after: 'config.action_mailer.raise_delivery_errors = false' do
244
395
  "\n config.assets.check_precompiled_asset = false"
245
396
  end
246
- inject_into_file 'config/environments/production.rb', :after => 'config.assets.compile = false' do
397
+ inject_into_file 'config/environments/production.rb', after: 'config.assets.compile = false' do
247
398
  "\n config.assets.compile = true"
248
399
  end
249
- inject_into_file 'config/initializers/assets.rb', :after => '# Precompile additional assets.
250
- ' do
251
- "Rails.application.config.assets.precompile += %w( sarabun.css )" +
252
- "\nRails.application.config.assets.precompile += %w( disable_enter_key.js )\n"
400
+ inject_into_file 'config/initializers/assets.rb', after: '# Precompile additional assets.
401
+ ' do
402
+ "Rails.application.config.assets.precompile += ['*.js', '*.css', '*.css.erb']\n"
403
+ end
404
+ end
405
+
406
+ def setup_boot_rb
407
+ # Add logger require for Ruby 3.1+ compatibility
408
+ inject_into_file 'config/boot.rb', after: 'require "bundler/setup"' do
409
+ "\nrequire \"logger\" # Required for Ruby 3.1+ with Rails 7"
253
410
  end
254
411
  end
255
412
 
@@ -260,8 +417,8 @@ IMAGE_LOCATION = "upload"
260
417
  say "----------------------------------------\n"
261
418
  say "bundle install\n"
262
419
  say "rails generate jinda:config\n"
263
- say "rake jinda:seed\n"
264
- say
420
+ say "rails jinda:seed\n"
421
+ say "rails jinda:update\n"
265
422
  say "----------------------------------------\n"
266
423
  end
267
424
  end