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,66 +1,67 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class User
2
4
  include Mongoid::Document
3
- # https://docs.mongodb.com/mongoid/master/tutorials/mongoid-indexes/
4
- index({ code: 1 }, { unique: true, name: "code_index" })
5
- before_create {generate_token(:auth_token)}
6
- field :provider, :type => String
7
- field :uid, :type => String
8
- field :code, :type => String
9
- field :email, :type => String
10
- field :role, :type => String
11
- field :user, :type => String
12
- field :auth_token, :type => String
13
- field :password_reset_token, :type => String
14
- field :password_reset_sent_at,:type => DateTime
15
- field :image, :type => String
16
5
 
17
- belongs_to :identity, :polymorphic => true, :optional => true
18
- has_many :xmains, :class_name => "Jinda::Xmain"
6
+ # https://docs.mongodb.com/mongoid/master/tutorials/mongoid-indexes/
7
+ index({ code: 1 }, { unique: true, name: 'code_index' })
8
+ before_create { generate_token(:auth_token) }
9
+ field :provider, type: String
10
+ field :uid, type: String
11
+ field :code, type: String
12
+ field :email, type: String
13
+ field :role, type: String
14
+ field :user, type: String
15
+ field :auth_token, type: String
16
+ field :password_reset_token, type: String
17
+ field :password_reset_sent_at, type: DateTime
18
+ field :image, type: String
19
+
20
+ belongs_to :identity, polymorphic: true, optional: true
21
+ has_many :xmains, class_name: 'Jinda::Xmain'
19
22
  validates :code,
20
- presence: true,
21
- uniqueness: true
23
+ presence: true,
24
+ uniqueness: true
22
25
 
23
26
  ## Add to create forgot password
24
27
  def generate_token(column)
25
- begin
26
- self[column] = SecureRandom.urlsafe_base64
27
- end
28
- #end while User.exists?(column => self[column])
28
+ self[column] = SecureRandom.urlsafe_base64
29
+
30
+ # end while User.exists?(column => self[column])
29
31
  end
30
32
 
31
33
  def has_role(role1)
32
- return role.upcase.split(',').include?(role1.upcase)
34
+ role.upcase.split(',').include?(role1.upcase)
33
35
  end
34
-
36
+
35
37
  def self.from_omniauth(auth)
36
- # Rails now no longer support slice
37
- # where(auth.slice(:uid, :provider, :email)).first_or_create do |user|
38
+ # Rails now no longer support slice
39
+ # where(auth.slice(:uid, :provider, :email)).first_or_create do |user|
38
40
  where(uid: auth.uid, provider: auth.provider, email: auth.info.email).first_or_create do |user|
39
- case auth.provider
40
- when 'identity'
41
- identity = Identity.find auth.uid
42
- user.code = identity.code
43
- user.email = identity.email
44
- else
45
- user.email = auth.info.email
46
- user.uid = auth.uid
47
- user.provider = auth.provider
48
- user.code = auth.info.name
49
- user.role = "M"
50
- user.image = auth.info.image
51
- end
41
+ case auth.provider
42
+ when 'identity'
43
+ identity = Identity.find auth.uid
44
+ user.code = identity.code
45
+ user.email = identity.email
46
+ else
47
+ user.email = auth.info.email
48
+ user.uid = auth.uid
49
+ user.provider = auth.provider
50
+ user.code = auth.info.name
51
+ user.role = 'M'
52
+ user.image = auth.info.image
52
53
  end
53
54
  end
54
-
55
+ end
56
+
55
57
  def ma_secured?
56
58
  role.upcase.split(',').include?(ma_secured_ROLE)
57
59
  end
58
-
60
+
59
61
  def send_password_reset
60
62
  generate_token(:password_reset_token)
61
63
  self.password_reset_sent_at = Time.zone.now
62
64
  save!
63
65
  UserMailer.password_reset(self).deliver
64
66
  end
65
-
66
67
  end
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -10,7 +10,7 @@
10
10
  = link_to image_tag('pencil.png', style:'border:none; float:right;', id: 'article_pen'), {controller: "articles", action: "edit", article_id: @article.id}, data: { confirm: "Please Confirm" }
11
11
  %div.font-weight-light
12
12
  by
13
- %img.img-circle{:alt => "User Image", src: @show[:user][:image] }/
13
+ %i.img-circle{"aria-hidden" => "true", class: "fa fa-user", style: "font-size: 48px; color: #999;"}
14
14
  %div.font-weight-light
15
15
  = @show[:user][:code]
16
16
  %div.font-weight-light
@@ -27,7 +27,7 @@
27
27
  %div.inner
28
28
  %div.font-weight-light
29
29
  - user_image = get_user_image(comment.user_id)
30
- %img.comment-user-image{:alt => "User Image", src: user_image}/
30
+ %i.comment-user-image{"aria-hidden" => "true", class: "fa fa-user", style: "width: 45px; height: 45px; font-size: 24px; color: #bbb; text-align: center; line-height: 45px; background: #f4f4f4; border-radius: 50%; display: inline-block;"}
31
31
 
32
32
  %div.font-weight-light
33
33
  Author:
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -1,24 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  xml.instruct! # <?xml version="1.0" encoding="UTF-8"?>
2
- xml.comment! "a comment" # <!-- a comment -->
3
- xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
4
- xml.title "My Atom Feed"
5
- # xml.subtitle h(@feed.subtitle), "type" => 'html'
6
- xml.link url_for( :only_path => false,
7
- :controller => 'main',
8
- :action => 'atom' )
4
+ xml.comment! 'a comment' # <!-- a comment -->
5
+ xml.feed 'xmlns' => 'http://www.w3.org/2005/Atom' do
6
+ xml.title 'My Atom Feed'
7
+ # xml.subtitle h(@feed.subtitle), "type" => 'html'
8
+ xml.link url_for(only_path: false,
9
+ controller: 'main',
10
+ action: 'atom')
9
11
  xml.updated Time.now.iso8601
10
12
  xml.author do
11
- xml.name "Jens-Christian Fischer"
12
- xml.email "jcfischer@gmail.com"
13
+ xml.name 'Jens-Christian Fischer'
14
+ xml.email 'jcfischer@gmail.com'
13
15
  end
14
16
  @waypoints.each do |entry|
15
17
  xml.entry do
16
18
  xml.code entry.code
17
19
  xml.title entry.name
18
- xml.link "href" => url_for( :only_path => false,
19
- :controller => 'entries',
20
- :action => 'show',
21
- :id => entry )
20
+ xml.link 'href' => url_for(only_path: false,
21
+ controller: 'entries',
22
+ action: 'show',
23
+ id: entry)
22
24
  xml.id entry.uid
23
25
  xml.updated entry.updated_at.iso8601
24
26
  xml.summary h(entry.description)
@@ -19,8 +19,9 @@
19
19
  %div.inner
20
20
  %b Recently tested with:
21
21
  %ul
22
- %li Rubygems 2.7.1
23
- %li Rails 6.1.0
22
+ %li Ruby 3.3.0+
23
+ %li Rails 7.1.0+
24
+ %li Mongoid 9.0+
24
25
  %div.col-lg-4.col-md-4.col-xs-12
25
26
  %div.small-box.bg-yellow
26
27
  %div.inner
@@ -26,8 +26,8 @@
26
26
  | | sidebar-mini |
27
27
  |---------------------------------------------------------|
28
28
 
29
- %body.hold-transition.skin-yellow.sidebar-mini
30
- .wrapper
29
+ %body.hold-transition.skin-blue.sidebar-mini
30
+ .wrapper{style: "height: auto; min-height: 100%; background-color: #7c7c7d;"}
31
31
  = render "layouts/lte/header"
32
32
  = render "layouts/lte/sidebar"
33
33
  .content-wrapper
@@ -0,0 +1,126 @@
1
+ !!!5
2
+ %html
3
+ %head
4
+ %meta{charset: 'utf-8'}
5
+ %meta{name: 'viewport', content: 'width=device-width, initial-scale=1'}
6
+ %title Jinda Mindmap Editor
7
+ = csrf_meta_tags
8
+ %link{rel: 'stylesheet', href: 'https://unpkg.com/jsmind@0.5.2/style/jsmind.css'}
9
+ :css
10
+ body { margin: 0; padding: 20px; font-family: Arial, sans-serif; }
11
+ h1 { margin: 0 0 20px 0; }
12
+ .controls { margin-bottom: 20px; }
13
+ #jsmind_container {
14
+ width: 100%;
15
+ height: 70vh;
16
+ border: 1px solid #ccc;
17
+ border-radius: 4px;
18
+ background: #f9f9f9;
19
+ }
20
+ .btn {
21
+ padding: 10px 20px;
22
+ margin-right: 10px;
23
+ background: #4CAF50;
24
+ color: white;
25
+ border: none;
26
+ border-radius: 4px;
27
+ cursor: pointer;
28
+ font-size: 14px;
29
+ }
30
+ .btn:hover { background: #45a049; }
31
+ .btn-secondary { background: #008CBA; }
32
+ .btn-secondary:hover { background: #007399; }
33
+ #status { padding: 10px; margin-top: 10px; border-radius: 4px; }
34
+ .success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
35
+ .error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
36
+ %body
37
+ %h1 Jinda Mindmap Editor
38
+
39
+ .controls
40
+ %button.btn#save_button{type: 'button'} Save & Update
41
+ %button.btn.btn-secondary#reload_button{type: 'button'} Reload
42
+ %span{style: 'margin-left: 20px; color: #666;'} Double-click nodes to edit | Right-click for options
43
+
44
+ #jsmind_container
45
+
46
+ #status
47
+
48
+ %script{src: 'https://unpkg.com/jsmind@0.5.2/js/jsmind.js'}
49
+ :javascript
50
+ var jm = null;
51
+ var originalData = #{raw @mind_data.to_json};
52
+
53
+ window.addEventListener('load', function() {
54
+ console.log('jsMind loaded:', typeof jsMind !== 'undefined');
55
+ console.log('Mind data:', originalData);
56
+
57
+ if (typeof jsMind === 'undefined') {
58
+ document.getElementById('jsmind_container').innerHTML =
59
+ '<div style="padding: 20px; color: red;">Error: jsMind library failed to load</div>';
60
+ return;
61
+ }
62
+
63
+ // Initialize jsMind
64
+ var options = {
65
+ container: 'jsmind_container',
66
+ theme: 'primary',
67
+ editable: true,
68
+ mode: 'full'
69
+ };
70
+
71
+ jm = new jsMind(options);
72
+ jm.show(originalData);
73
+
74
+ // Save button handler
75
+ document.getElementById('save_button').addEventListener('click', function() {
76
+ var button = this;
77
+ button.disabled = true;
78
+ button.textContent = 'Saving...';
79
+
80
+ var data = jm.get_data();
81
+ console.log('Saving data:', data);
82
+
83
+ fetch('#{mindmap_editor_save_path}', {
84
+ method: 'POST',
85
+ headers: {
86
+ 'Content-Type': 'application/json',
87
+ 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content
88
+ },
89
+ body: JSON.stringify({ mind_data: data })
90
+ })
91
+ .then(response => response.json())
92
+ .then(result => {
93
+ button.disabled = false;
94
+ button.textContent = 'Save & Update';
95
+
96
+ var status = document.getElementById('status');
97
+ if (result.success) {
98
+ status.className = 'success';
99
+ status.innerHTML = '<strong>Success!</strong> ' + result.message;
100
+ if (result.output) {
101
+ status.innerHTML += '<br><small>Output: ' + result.output.substring(0, 200) + '...</small>';
102
+ }
103
+ } else {
104
+ status.className = 'error';
105
+ status.innerHTML = '<strong>Error:</strong> ' + result.error;
106
+ }
107
+
108
+ setTimeout(() => { status.innerHTML = ''; status.className = ''; }, 5000);
109
+ })
110
+ .catch(error => {
111
+ button.disabled = false;
112
+ button.textContent = 'Save & Update';
113
+
114
+ var status = document.getElementById('status');
115
+ status.className = 'error';
116
+ status.innerHTML = '<strong>Error:</strong> ' + error.message;
117
+ });
118
+ });
119
+
120
+ // Reload button handler
121
+ document.getElementById('reload_button').addEventListener('click', function() {
122
+ if (confirm('Reload mindmap? Any unsaved changes will be lost.')) {
123
+ location.reload();
124
+ }
125
+ });
126
+ });
@@ -0,0 +1,2 @@
1
+ %h1 MindmapEditor#save
2
+ %p Find me in app/views/mindmap_editor/save.html.haml
@@ -0,0 +1,3 @@
1
+ #!/bin/bash -e
2
+
3
+ exec "${@}"
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ require "timeout"
3
+
4
+ modified = `git status --porcelain`.lines.filter_map { |l| l.split.last }.uniq
5
+ files = modified.select { |p| p.end_with?(".rb") }
6
+
7
+ if files.empty?
8
+ puts "No modified Ruby files."
9
+ exit 0
10
+ end
11
+
12
+ files.each do |file|
13
+ puts "RuboCop: #{file}"
14
+ begin
15
+ Timeout.timeout(30) do
16
+ system("rubocop", "--config", File.expand_path("~/.rubocop.yml"), "-A", file)
17
+ end
18
+ rescue Timeout::Error
19
+ puts "Timeout on #{file} (over 30s). Skipping; fix manually."
20
+ end
21
+ end
data/test/dummy/bin/setup CHANGED
@@ -5,7 +5,7 @@ require "fileutils"
5
5
  APP_ROOT = File.expand_path("..", __dir__)
6
6
 
7
7
  def system!(*args)
8
- system(*args) || abort("\n== Command #{args} failed ==")
8
+ system(*args, exception: true)
9
9
  end
10
10
 
11
11
  FileUtils.chdir APP_ROOT do
@@ -18,7 +18,7 @@ require "action_cable/engine"
18
18
  # you've limited to :test, :development, or :production.
19
19
  Bundler.require(*Rails.groups)
20
20
 
21
- module Dummy
21
+ module JindaTestApp1768068735
22
22
  class Application < Rails::Application
23
23
 
24
24
  # Jinda default
@@ -45,7 +45,12 @@ module Dummy
45
45
  # config.action_mailer.perform_deliveries = true
46
46
 
47
47
  # Initialize configuration defaults for originally generated Rails version.
48
- config.load_defaults 7.0
48
+ config.load_defaults 7.1
49
+
50
+ # Please, add to the `ignore` list any other `lib` subdirectories that do
51
+ # not contain `.rb` files, or that should not be reloaded or eager loaded.
52
+ # Common ones are `templates`, `generators`, or `middleware`, for example.
53
+ config.autoload_lib(ignore: %w(assets tasks))
49
54
 
50
55
  # Configuration for the application, engines, and railties goes here.
51
56
  #
@@ -1,4 +1,5 @@
1
1
  ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
2
2
 
3
- require "bundler/setup" # Set up gems listed in the Gemfile.
3
+ require "bundler/setup"
4
+ require "logger" # Required for Ruby 3.1+ with Rails 7 # Set up gems listed in the Gemfile.
4
5
  require "bootsnap/setup" # Speed up boot time by caching expensive operations.
@@ -7,4 +7,4 @@ test:
7
7
  production:
8
8
  adapter: redis
9
9
  url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
10
- channel_prefix: dummy_production
10
+ channel_prefix: jinda_test_app_1768068735_production
@@ -1 +1 @@
1
- rKJOMS7I0Z2/6HTmUtZoHpiofv1hKjyG7PP/xif21dRzKKgCueZV6ImjpU0HdupQYnIheFTCoNdcQmzvzfl0oZaUr03Ox6pf/KGVkEUAwuBPAt76UzNrElzKR1LOctwpmQ6gqCT4AR26lGhpIQDC/XpzT6b4A05C19Xq6vwS4pYBPz119XcKB7dVVGfzhY79NndT1ifklAmWqw2qvoqDp9BdTPpI+HdtjZrbYV8KL0l34lqV/Cf8x2LkvNQjcnCQ8e8tCjNDBFbfQbNrAxQEC832RrQEZ4stK+miW3n+5tEMAwBg7lxyrI8OosHHn5GKnL5geG1NPIosSfgdiFnv0TGGRlaS2d8Is0c0LpWTAMoUN20xl6w6R2HMkumfXLmJLhZEfeZVsLwE11jjSxRLKd8hciqV+W9IqNqV--4BEM1/9dfS1odAZT--IrPmtHRIpZytag1DsyZDSg==
1
+ kaGEBok8FgkJBuH+bYtq4Jrp/trrZwMuOnO5kuoUbHXQCPcxRB3mmNu6y3oLeXY5VDpI0cL4aUR0cvXzshqnBEg7h7LC645OjYjfm72V9RO58WXyjtYFWe+V6NKSFapNyrV6SJdjGXxLk9zMO01mFvK9CI8lMV9oZo/59C0S7c1sGAJD70FgLbyDOhFTizkIVl/Y+g7gyF2LrdoGp+J1N7a6YWQYmSk1g5PNRmGF+K4VZeyrW1DZ5VFg1mcFCkrsdOOQ6AejKgtCXhzad6xraWj6W1ihiUfMbnLbZO/LElZVQyNa+vhzQE8rrGIGaIY7cZfA/zLRn8oPQ4odLF45J2ZOcVuUfV6xs6vWHkcI99VpwWSS2NOGh7VHGtc5U6hr+9ZFfMQLc/Jx5s9Mu9n0URforL/e--zOCOyjPlqE3U33d2--aT3XumwwVUubm5WBStbh0Q==
@@ -6,7 +6,7 @@ Rails.application.configure do
6
6
  # In the development environment your application's code is reloaded any time
7
7
  # it changes. This slows down response time but is perfect for development
8
8
  # since you don't have to restart the web server when you make code changes.
9
- config.cache_classes = false
9
+ config.enable_reloading = true
10
10
 
11
11
  # Do not eager load code on boot.
12
12
  config.eager_load = false
@@ -48,6 +48,9 @@ Rails.application.configure do
48
48
  # Tell Active Support which deprecation messages to disallow.
49
49
  config.active_support.disallowed_deprecation_warnings = []
50
50
 
51
+ # Highlight code that enqueued background job in logs.
52
+ config.active_job.verbose_enqueue_logs = true
53
+
51
54
  # Suppress logger output for asset requests.
52
55
  config.assets.quiet = true
53
56
 
@@ -59,4 +62,7 @@ Rails.application.configure do
59
62
 
60
63
  # Uncomment if you wish to allow Action Cable access from any origin.
61
64
  # config.action_cable.disable_request_forgery_protection = true
65
+
66
+ # Raise error when a before_action's only/except options reference missing actions
67
+ config.action_controller.raise_on_missing_callback_actions = true
62
68
  end