jinda 0.8.0 → 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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -5
  3. data/Rakefile +103 -1
  4. data/app/assets/javascripts/jinda_bootstrap.js +20 -0
  5. data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
  6. data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
  7. data/app/config/routes.rb +38 -28
  8. data/app/controllers/concerns/jinda_general_concern.rb +86 -87
  9. data/app/controllers/concerns/jinda_run_concern.rb +184 -184
  10. data/app/controllers/jinda_controller.rb +23 -22
  11. data/bin/lint_modified +21 -0
  12. data/config/routes.rb +41 -22
  13. data/lib/generators/jinda/config_generator.rb +102 -81
  14. data/lib/generators/jinda/install_generator.rb +304 -146
  15. data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
  16. data/lib/generators/jinda/installer/gems_install.rb +125 -127
  17. data/lib/generators/jinda/minitest_generator.rb +19 -18
  18. data/lib/generators/jinda/rspec_generator.rb +15 -14
  19. data/lib/generators/jinda/templates/DOCKER.md +188 -0
  20. data/lib/generators/jinda/templates/Dockerfile +15 -5
  21. data/lib/generators/jinda/templates/README.md +3 -3
  22. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
  23. data/lib/generators/jinda/templates/app/assets/stylesheets/{application.css.scss → application.scss} +12 -4
  24. data/lib/generators/jinda/templates/app/assets/stylesheets/jinda.scss +253 -0
  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/lib/generators/jinda/templates/app/controllers/adminltes_controller.rb +3 -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/adminltes/dashboard1.haml +461 -0
  74. data/lib/generators/jinda/templates/app/views/adminltes/dashboard2.haml +656 -0
  75. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
  76. data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
  77. data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
  78. data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
  79. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
  80. data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
  81. data/lib/generators/jinda/templates/app/views/layouts/lte/_flash.haml +9 -0
  82. data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_footer.haml +2 -2
  83. data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
  84. data/lib/generators/jinda/templates/app/views/layouts/lte/_menu.haml +42 -0
  85. data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_menu_mm.haml +7 -5
  86. data/lib/generators/jinda/templates/app/views/layouts/lte/_sidebar.haml +154 -0
  87. data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
  88. data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
  89. data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
  90. data/lib/generators/jinda/templates/bin/lint_modified +21 -0
  91. data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
  92. data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
  93. data/lib/generators/jinda/templates/docker-compose.yml +10 -14
  94. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
  95. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
  96. data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
  97. data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
  98. data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
  99. data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
  100. data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
  101. data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
  102. data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
  103. data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
  104. data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
  105. data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
  106. data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
  107. data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
  108. data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
  109. data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
  110. data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  111. data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
  112. data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
  113. data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
  114. data/lib/jinda/date_helpers.rb +50 -41
  115. data/lib/jinda/gem_helpers.rb +10 -8
  116. data/lib/jinda/gen_class.rb +14 -12
  117. data/lib/jinda/gen_controller.rb +9 -8
  118. data/lib/jinda/gen_freemind.rb +33 -32
  119. data/lib/jinda/gen_helpers.rb +146 -139
  120. data/lib/jinda/gen_models.rb +125 -131
  121. data/lib/jinda/gen_modules.rb +21 -16
  122. data/lib/jinda/gen_runseq.rb +71 -67
  123. data/lib/jinda/gen_services.rb +74 -80
  124. data/lib/jinda/gen_xmain.rb +38 -36
  125. data/lib/jinda/get_app.rb +31 -29
  126. data/lib/jinda/helpers.rb +4 -4
  127. data/lib/jinda/init_vars.rb +41 -36
  128. data/lib/jinda/mindmap_converter.rb +196 -0
  129. data/lib/jinda/railtie.rb +10 -2
  130. data/lib/jinda/rake_views.rb +61 -60
  131. data/lib/jinda/refresh.rb +67 -61
  132. data/lib/jinda/themes.rb +80 -60
  133. data/lib/jinda/version.rb +3 -1
  134. data/lib/jinda.rb +2 -0
  135. data/lib/tasks/jinda.rake +25 -22
  136. data/test/INTEGRATION_TEST_README.md +374 -0
  137. data/test/LOCAL_DEVELOPMENT.md +345 -0
  138. data/test/README.md +243 -0
  139. data/test/TEST_INFRASTRUCTURE.md +412 -0
  140. data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
  141. data/test/UNIT_TESTS_README.md +366 -0
  142. data/test/api_notes_controller_test.rb +231 -0
  143. data/test/dummy/DOCKER.md +188 -0
  144. data/test/dummy/Dockerfile +15 -5
  145. data/test/dummy/Gemfile +37 -26
  146. data/test/dummy/Gemfile.lock +634 -271
  147. data/test/dummy/app/assets/javascripts/application.js +8 -8
  148. data/test/dummy/app/channels/application_cable/channel.rb +2 -0
  149. data/test/dummy/app/channels/application_cable/connection.rb +2 -0
  150. data/test/dummy/app/controllers/admins_controller.rb +4 -2
  151. data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
  152. data/test/dummy/app/controllers/application_controller.rb +11 -9
  153. data/test/dummy/app/controllers/articles_controller.rb +40 -44
  154. data/test/dummy/app/controllers/comments_controller.rb +10 -8
  155. data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
  156. data/test/dummy/app/controllers/devs_controller.rb +2 -0
  157. data/test/dummy/app/controllers/docs_controller.rb +23 -24
  158. data/test/dummy/app/controllers/identities_controller.rb +3 -1
  159. data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
  160. data/test/dummy/app/controllers/notes_controller.rb +25 -27
  161. data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
  162. data/test/dummy/app/controllers/sessions_controller.rb +13 -14
  163. data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
  164. data/test/dummy/app/controllers/users_controller.rb +14 -14
  165. data/test/dummy/app/helpers/admins_helper.rb +2 -0
  166. data/test/dummy/app/helpers/application_helper.rb +21 -20
  167. data/test/dummy/app/helpers/articles_helper.rb +2 -0
  168. data/test/dummy/app/helpers/basic_helper.rb +2 -0
  169. data/test/dummy/app/helpers/comments_helper.rb +2 -0
  170. data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
  171. data/test/dummy/app/helpers/devs_helper.rb +2 -0
  172. data/test/dummy/app/helpers/mindmap_editor_helper.rb +3 -0
  173. data/test/dummy/app/helpers/pictures_helper.rb +2 -0
  174. data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
  175. data/test/dummy/app/helpers/users_helper.rb +2 -0
  176. data/test/dummy/app/jinda/index.mm +384 -486
  177. data/test/dummy/app/jinda/template/index.mm +1 -0
  178. data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
  179. data/test/dummy/app/mailers/note_mailer.rb +6 -4
  180. data/test/dummy/app/mailers/user_mailer.rb +5 -5
  181. data/test/dummy/app/models/address.rb +2 -0
  182. data/test/dummy/app/models/article.rb +2 -0
  183. data/test/dummy/app/models/comment.rb +3 -2
  184. data/test/dummy/app/models/identity.rb +11 -10
  185. data/test/dummy/app/models/jinda/doc.rb +36 -33
  186. data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
  187. data/test/dummy/app/models/jinda/module.rb +14 -10
  188. data/test/dummy/app/models/jinda/notice.rb +15 -11
  189. data/test/dummy/app/models/jinda/role.rb +11 -7
  190. data/test/dummy/app/models/jinda/runseq.rb +23 -20
  191. data/test/dummy/app/models/jinda/service.rb +19 -15
  192. data/test/dummy/app/models/jinda/xmain.rb +42 -36
  193. data/test/dummy/app/models/note.rb +3 -8
  194. data/test/dummy/app/models/param.rb +23 -20
  195. data/test/dummy/app/models/person.rb +2 -0
  196. data/test/dummy/app/models/picture.rb +11 -0
  197. data/test/dummy/app/models/user.rb +42 -41
  198. data/test/dummy/app/views/admins/index.haml +21 -0
  199. data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
  200. data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
  201. data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
  202. data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
  203. data/test/dummy/app/views/articles/show.html.haml +2 -2
  204. data/test/dummy/app/views/devs/index.haml +21 -0
  205. data/test/dummy/app/views/identities/new.html.haml +13 -0
  206. data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
  207. data/test/dummy/app/views/jinda/index.html.haml +3 -2
  208. data/test/dummy/app/views/layouts/application.haml +51 -4
  209. data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
  210. data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
  211. data/test/dummy/app/views/sessions/new.html.haml +13 -0
  212. data/test/dummy/bin/docker-entrypoint +3 -0
  213. data/test/dummy/bin/lint_modified +21 -0
  214. data/test/dummy/bin/setup +1 -1
  215. data/test/dummy/config/application.rb +7 -2
  216. data/test/dummy/config/boot.rb +2 -1
  217. data/test/dummy/config/cable.yml +1 -1
  218. data/test/dummy/config/credentials.yml.enc +1 -1
  219. data/test/dummy/config/environments/development.rb +7 -1
  220. data/test/dummy/config/environments/production.rb +30 -26
  221. data/test/dummy/config/environments/test.rb +12 -8
  222. data/test/dummy/config/initializers/content_security_policy.rb +6 -7
  223. data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -1
  224. data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
  225. data/test/dummy/config/initializers/mongoid.rb +24 -9
  226. data/test/dummy/config/initializers/omniauth.rb +5 -0
  227. data/test/dummy/config/initializers/permissions_policy.rb +11 -9
  228. data/test/dummy/config/locales/en.yml +11 -13
  229. data/test/dummy/config/mongoid.yml +156 -51
  230. data/test/dummy/config/puma.rb +21 -20
  231. data/test/dummy/config/routes.rb +7 -1
  232. data/test/dummy/docker-compose-mongodb.yml +13 -0
  233. data/test/dummy/docker-compose-web.yml +36 -0
  234. data/test/dummy/docker-compose.yml +10 -14
  235. data/test/dummy/log/development.log +5904 -2
  236. data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
  237. data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
  238. data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
  239. data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
  240. data/test/dummy/spec/factories/pictures.rb +5 -0
  241. data/test/dummy/spec/features/userlogins_spec.rb +12 -15
  242. data/test/dummy/spec/mailers/note_spec.rb +5 -8
  243. data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
  244. data/test/dummy/spec/models/note_spec.rb +36 -35
  245. data/test/dummy/spec/models/picture_spec.rb +5 -0
  246. data/test/dummy/spec/models/user_spec.rb +10 -8
  247. data/test/dummy/spec/rails_helper.rb +29 -31
  248. data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
  249. data/test/dummy/spec/requests/devs_spec.rb +7 -0
  250. data/test/dummy/spec/spec_helper.rb +19 -17
  251. data/test/dummy/spec/support/authentication_helper.rb +8 -7
  252. data/test/dummy/spec/support/databasecleaner.rb +3 -1
  253. data/test/dummy/spec/support/factory_bot.rb +7 -5
  254. data/test/dummy/spec/support/omniauth_macros.rb +14 -19
  255. data/test/dummy/spec/support/request_spec_helper.rb +3 -1
  256. data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  257. data/test/generated_app_test.rb +261 -0
  258. data/test/installation_test.rb +368 -0
  259. data/test/integration_test.rb +398 -0
  260. data/test/jenkins_stage_test.rb +182 -0
  261. data/test/note_model_test.rb +224 -0
  262. data/test/note_validation_integration_test.rb +292 -0
  263. data/test/run_unit_tests.sh +91 -0
  264. data/test/test_helper.rb +8 -16
  265. metadata +186 -48
  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/_header.haml +0 -147
  270. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
  271. data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
  272. data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
  273. data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
  274. data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
  275. data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
  276. data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
  277. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
  278. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
  279. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
  280. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
  281. data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
  282. data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
  283. data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
  284. data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
  285. data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
  286. data/test/dummy/README.md.bak +0 -24
  287. data/test/dummy/app/assets/stylesheets/application.css.bak +0 -15
  288. data/test/dummy/app/assets/stylesheets/application.css.scss +0 -15
  289. data/test/dummy/app/assets/stylesheets/jinda_jqm.css.scss +0 -32
  290. data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
  291. data/test/dummy/app/controllers/password_resets.rb +0 -28
  292. data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
  293. data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
  294. data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
  295. data/test/dummy/tmp/development_secret.txt +0 -1
  296. data/test/integration/config_generator_test.rb +0 -28
  297. data/test/integration/navigation_test.rb +0 -7
  298. data/test/jinda_test.rb +0 -7
  299. /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 967e167ae196e69b249b11576dafa1801b2a4cedee8441ec3c9d20ad3762cb20
4
- data.tar.gz: bd9bbdfd476a063b4648cc0a746dbd5e21ed26329671ec83a338115a1153d6b4
3
+ metadata.gz: 2f9be4b459cfb98b0b6f7f3296311b062ffe48e9647eb1f98ffc6dbeb7bed1af
4
+ data.tar.gz: 2af8fd314ad10ddd9264a447df787e72a161467c1445c950b7e1cc0bb0bc4b35
5
5
  SHA512:
6
- metadata.gz: bb5e145f1930bee99eebdea5b4e664d8726e89a74d78937951f6591aa33f38d50efcf5c9b4c5f3e2bc85039f57d644aa3f91febe29b5a6fbe4dcf3ff5284fe1f
7
- data.tar.gz: 11a37c1e814d64f34b010ea3dbdef2b98149c423a8799d2a4a3f51794dad065a1f0d361e2aa05390e31f12d0e6e40aa340455b4d3ac72ab78b694f510f78c05b
6
+ metadata.gz: 678ebc069140578546cafbb1e74ffe9197d1f015f49fdd3741073e5e64a03a6362696c448194f6ec5afb3db6531515891c1ae6dab7a6fb06a6cbbb7872bb61a7
7
+ data.tar.gz: 3a388da43fb395a403a8a668aea954a486dd6258ee8a481a2bf0b2efa7c309f1b8a1d925dd7a251d55201a4ad9eb25e57fcff65c6beb4798584d5c5922e31765
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Jinda
2
2
 
3
- Jinda is a gem to create Rails Workflow & Application Generator using Freemind
3
+ Jinda is a gem to create Rails Workflow & Application Generator using Freemind and coming with AI
4
4
 
5
5
  Jinda is a tools for Ruby on Rails developer. (Required: basic Ruby on Rails )
6
6
 
@@ -17,12 +17,15 @@ Jinda is a tools for Ruby on Rails developer. (Required: basic Ruby on Rails )
17
17
  - Sample app: Articles, API Note, Document
18
18
  - Support themes: Jinda_adminlte, Jinda_adminBSB
19
19
  - Support HTML, HAML, SCSS
20
+ - AI
20
21
  <br />
21
22
 
22
23
  # [Jinda](https://github.com/kul1/jinda)
23
24
 
24
25
 
25
- ![Screen Shot 2019-09-07 at 1 00 03 PM](https://user-images.githubusercontent.com/3953832/64478408-f5feb500-d175-11e9-9d07-8b41f3c47924.png)
26
+ ![Jinda Theme](doc/images/Home.png)
27
+
28
+ ![Jinda Mindmap Editor](doc/images/map.png)
26
29
 
27
30
  ## Additional Extension themes also available at
28
31
 
@@ -35,6 +38,8 @@ Jinda is a tools for Ruby on Rails developer. (Required: basic Ruby on Rails )
35
38
 
36
39
  ## Prerequisites
37
40
 
41
+ **Jinda 0.8.0+ is compatible with Ruby 3.1+ and Rails 7.0+**
42
+
38
43
  These versions works for sure but others may do.
39
44
 
40
45
  - Ruby 3.1.2
@@ -68,9 +73,7 @@ arch -x86_64 gem install nokogiri -v '1.10.10' --platform=ruby -- --use-system-l
68
73
 
69
74
  ### Screen shot install Jinda
70
75
 
71
- [![yt_logo_rgb_light](https://user-images.githubusercontent.com/3953832/110579381-4fa9bc00-812c-11eb-973e-da9d0f2a8109.png)](https://www.youtube.com/watch?v=XUXv7Yrskjk&feature=youtu.be)
72
- <br />
73
- [![Jinda Install](https://i9.ytimg.com/vi/XUXv7Yrskjk/mq3.jpg?sqp=CPjUoIIG&rs=AOn4CLBfMkmMtOGz3OfUp2zyhMs3Dy9xrw)](https://www.youtube.com/watch?v=XUXv7Yrskjk&feature=youtu.be)
76
+ [Watch install video on YouTube](https://www.youtube.com/watch?v=XUXv7Yrskjk)
74
77
 
75
78
  ### Sample Jinda in Docker
76
79
 
data/Rakefile CHANGED
@@ -1,3 +1,105 @@
1
- task :console do
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake/testtask'
4
+
5
+ # RuboCop task (optional - only loads if gem is available)
6
+ # This makes the Rakefile work in CI environments where RuboCop may not be installed yet
7
+ begin
8
+ require 'rubocop/rake_task'
9
+ RuboCop::RakeTask.new(:rubocop) do |task|
10
+ task.options = ['--config', '.rubocop.yml']
11
+ task.fail_on_error = true
12
+ end
13
+ RUBOCOP_AVAILABLE = true
14
+ rescue LoadError
15
+ # RuboCop not available - will be skipped in default task
16
+ RUBOCOP_AVAILABLE = false
17
+ end
18
+
19
+ # Installation test task (runs first)
20
+ Rake::TestTask.new(:test_installation) do |t|
21
+ t.libs << 'test'
22
+ t.libs << 'lib'
23
+ t.test_files = FileList['test/installation_test.rb']
24
+ t.verbose = true
25
+ t.warning = false
26
+ end
27
+
28
+ # Integration test task (runs after installation)
29
+ Rake::TestTask.new(:test_integration) do |t|
30
+ t.libs << 'test'
31
+ t.libs << 'lib'
32
+ t.test_files = FileList['test/integration_test.rb']
33
+ t.verbose = true
34
+ t.warning = false
35
+ end
36
+
37
+ # Unit tests - fast static analysis tests (no app generation)
38
+ Rake::TestTask.new(:test_unit) do |t|
39
+ t.libs << 'test'
40
+ t.libs << 'lib'
41
+ t.test_files = FileList[
42
+ 'test/jenkins_stage_test.rb',
43
+ 'test/note_model_test.rb',
44
+ 'test/api_notes_controller_test.rb',
45
+ 'test/note_validation_integration_test.rb'
46
+ ]
47
+ t.verbose = true
48
+ t.warning = false
49
+ end
50
+
51
+ # Test groups for parallel CI execution
52
+ namespace :test do
53
+ desc 'Run unit tests (static analysis - fast)'
54
+ task :unit do
55
+ Rake::Task['test_unit'].invoke
56
+ end
57
+
58
+ desc 'Run installation tests (generates test app)'
59
+ task :installation do
60
+ Rake::Task['test_installation'].invoke
61
+ end
62
+
63
+ desc 'Run integration tests (uses generated app from installation test)'
64
+ task :integration do
65
+ Rake::Task['test_integration'].invoke
66
+ end
67
+
68
+ desc 'Run generated app tests (tests in test/dummy if exists)'
69
+ task :generated_app do
70
+ dummy_path = File.expand_path('test/dummy', __dir__)
71
+ if File.directory?(dummy_path)
72
+ puts "=== Running tests in generated app: #{dummy_path} ==="
73
+ Dir.chdir(dummy_path) do
74
+ sh 'bundle exec rake test' if File.exist?('Rakefile')
75
+ sh 'bundle exec rspec' if File.directory?('spec')
76
+ end
77
+ else
78
+ puts "⚠️ No test/dummy directory found. Run generators first."
79
+ puts " To create test/dummy: cd test && rails new dummy -BOTJ && cd dummy && [run generators]"
80
+ end
81
+ end
82
+
83
+ desc 'Run gem-level tests (unit + installation)'
84
+ task gem: %i[unit installation]
85
+
86
+ desc 'Run all tests including generated app'
87
+ task all: %i[unit installation integration]
88
+ end
89
+
90
+ # Default test task (unit + installation for quick local feedback)
91
+ task test: %i[test_unit test_installation]
92
+
93
+ # Convenience task for full test suite
94
+ task test_all: ['test:all']
95
+
96
+ # Default task - only includes rubocop if available
97
+ if defined?(RUBOCOP_AVAILABLE) && RUBOCOP_AVAILABLE
98
+ task default: %i[rubocop test]
99
+ else
100
+ task default: :test
101
+ end
102
+
103
+ task console: :environment do
2
104
  exec 'irb -r jinda -I ./lib'
3
105
  end
@@ -0,0 +1,20 @@
1
+ // This is a manifest file for Jinda Bootstrap theme
2
+ // Replaces jQuery Mobile with Bootstrap 5
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require bootstrap-sprockets
16
+ //= require jinda
17
+ // require turbolinks
18
+ // require disable_enter_key.js
19
+
20
+
@@ -0,0 +1,190 @@
1
+ /* Jinda Bootstrap Theme - Maintains Original Jinda Look & Feel */
2
+
3
+ /* ========== Variables ========== */
4
+ $jinda-primary: #3388cc;
5
+ $jinda-header-bg: #3388cc;
6
+ $jinda-sidebar-bg: #f7f7f7;
7
+ $jinda-sidebar-active: #ddd;
8
+
9
+ /* ========== Layout ========== */
10
+ body {
11
+ font-family: 'Sarabun', Arial, sans-serif;
12
+ margin: 0;
13
+ padding: 0;
14
+ }
15
+
16
+ /* ========== Header ========== */
17
+ .jinda-header {
18
+ background-color: $jinda-header-bg;
19
+ color: white;
20
+ padding: 15px;
21
+ position: fixed;
22
+ top: 0;
23
+ left: 0;
24
+ right: 0;
25
+ z-index: 1000;
26
+
27
+ h1 {
28
+ margin: 0;
29
+ font-size: 20px;
30
+ font-weight: normal;
31
+ }
32
+
33
+ .navbar-toggler {
34
+ border-color: rgba(255, 255, 255, 0.5);
35
+
36
+ .navbar-toggler-icon {
37
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
38
+ }
39
+ }
40
+ }
41
+
42
+ /* ========== Sidebar/Menu ========== */
43
+ .jinda-sidebar {
44
+ position: fixed;
45
+ top: 60px;
46
+ left: 0;
47
+ bottom: 0;
48
+ width: 250px;
49
+ background-color: $jinda-sidebar-bg;
50
+ overflow-y: auto;
51
+ border-right: 1px solid #ddd;
52
+ padding: 0;
53
+
54
+ .nav {
55
+ flex-direction: column;
56
+ }
57
+
58
+ .nav-link {
59
+ color: #333;
60
+ padding: 10px 15px;
61
+ border-radius: 0;
62
+
63
+ &:hover {
64
+ background-color: $jinda-sidebar-active;
65
+ color: #000;
66
+ }
67
+
68
+ &.active {
69
+ background-color: $jinda-sidebar-active;
70
+ color: #000;
71
+ font-weight: bold;
72
+ }
73
+ }
74
+
75
+ // Nested menu items
76
+ .nav .nav {
77
+ padding-left: 20px;
78
+
79
+ .nav-link {
80
+ padding: 8px 15px;
81
+ font-size: 0.9em;
82
+ }
83
+ }
84
+
85
+ // Module headers
86
+ .module-header {
87
+ font-weight: bold;
88
+ padding: 15px 15px 5px 15px;
89
+ color: #666;
90
+ text-transform: uppercase;
91
+ font-size: 0.85em;
92
+ }
93
+ }
94
+
95
+ /* ========== Main Content ========== */
96
+ .jinda-content {
97
+ margin-top: 60px;
98
+ margin-left: 250px;
99
+ padding: 20px;
100
+
101
+ @media (max-width: 768px) {
102
+ margin-left: 0;
103
+ }
104
+ }
105
+
106
+ /* ========== Buttons ========== */
107
+ .btn-jinda-primary {
108
+ background-color: $jinda-primary;
109
+ border-color: $jinda-primary;
110
+ color: white;
111
+
112
+ &:hover {
113
+ background-color: darken($jinda-primary, 10%);
114
+ border-color: darken($jinda-primary, 10%);
115
+ }
116
+ }
117
+
118
+ /* ========== Forms ========== */
119
+ .jinda-form {
120
+ .form-label {
121
+ font-weight: 500;
122
+ }
123
+
124
+ .form-control {
125
+ border-radius: 4px;
126
+ }
127
+ }
128
+
129
+ /* ========== Tables ========== */
130
+ .jinda-table {
131
+ width: 100%;
132
+
133
+ th {
134
+ background-color: #f5f5f5;
135
+ font-weight: 600;
136
+ }
137
+ }
138
+
139
+ /* ========== Mobile Responsive ========== */
140
+ @media (max-width: 768px) {
141
+ .jinda-sidebar {
142
+ left: -250px;
143
+ transition: left 0.3s ease;
144
+
145
+ &.show {
146
+ left: 0;
147
+ }
148
+ }
149
+
150
+ .jinda-content {
151
+ margin-left: 0;
152
+ }
153
+ }
154
+
155
+ /* ========== Offcanvas Menu (Mobile) ========== */
156
+ .offcanvas-jinda {
157
+ width: 250px;
158
+ background-color: $jinda-sidebar-bg;
159
+
160
+ .offcanvas-header {
161
+ background-color: $jinda-header-bg;
162
+ color: white;
163
+ }
164
+
165
+ .offcanvas-body {
166
+ padding: 0;
167
+ }
168
+ }
169
+
170
+ /* ========== Search & Static Pages ========== */
171
+ .jinda-static {
172
+ padding: 20px;
173
+
174
+ .btn {
175
+ margin: 5px 0;
176
+ width: 100%;
177
+ }
178
+ }
179
+
180
+ /* ========== Social Login ========== */
181
+ .login-box {
182
+ padding: 15px;
183
+ text-align: center;
184
+
185
+ .social-button {
186
+ display: block;
187
+ margin: 10px auto;
188
+ max-width: 250px;
189
+ }
190
+ }
@@ -1,6 +1,6 @@
1
1
  /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
2
+ * This is a manifest file for Jinda Bootstrap theme
3
+ * Replaces jQuery Mobile with Bootstrap 5
4
4
  *
5
5
  * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
6
  * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
@@ -11,21 +11,23 @@
11
11
  *= require normalize-rails
12
12
  */
13
13
 
14
- @import "jquery.mobile-1.2.1";
15
- @import "jquery.mobile.splitview";
16
- @import "jquery.mobile.grids.collapsible";
17
- @import "jquery.mobile.datebox.css";
14
+ // Import Bootstrap 5
15
+ @import "bootstrap";
16
+
17
+ // Import Font Awesome
18
+ @import "font-awesome-sprockets";
19
+ @import "font-awesome";
20
+
21
+ // Import custom Jinda styles (keep existing styles)
18
22
  @import "sarabun";
19
23
  @import "jinda";
20
24
  @import "kul-4.2";
21
25
  @import "articles";
22
26
  @import "app.scss";
23
- @import "font-awesome-sprockets";
24
- @import "font-awesome";
25
27
  @import "social";
26
28
 
27
-
28
-
29
+ // Import custom Bootstrap theme for Jinda
30
+ @import "jinda_bootstrap_theme";
29
31
 
30
32
 
31
33
 
data/app/config/routes.rb CHANGED
@@ -1,30 +1,36 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.routes.draw do
2
4
  # start jiinda method routes
3
- jinda_methods = ['pending', 'status', 'search', 'doc', 'doc_print', 'logs', 'ajax_notice']
4
- jinda_methods += ['init', 'run', 'run_mail', 'document', 'run_do', 'run_form', 'end_form']
5
- jinda_methods += ['run_redirect', 'run_direct_to','run_if']
6
- jinda_methods += ['error_logs', 'notice_logs', 'cancel', 'run_output', 'end_output']
7
- jinda_methods.each do |aktion| get "/jinda/#{aktion}" => "jinda##{aktion}" end
8
- post '/jinda/init' => 'jinda#init'
9
- post '/jinda/pending' => 'jinda#index'
10
- post '/jinda/end_form' => 'jinda#end_form'
11
- post '/jinda/end_output' => 'jinda#end_output'
5
+ jinda_methods = %w[pending status search doc doc_print logs ajax_notice]
6
+ jinda_methods += %w[init run run_mail document run_do run_form end_form]
7
+ jinda_methods += %w[run_redirect run_direct_to run_if]
8
+ jinda_methods += %w[error_logs notice_logs cancel run_output end_output]
9
+ jinda_methods.each do |aktion|
10
+ get "/jinda/#{aktion}" => "jinda##{aktion}"
11
+ end
12
+ post "/jinda/init" => "jinda#init"
13
+ post "/jinda/pending" => "jinda#index"
14
+ post "/jinda/end_form" => "jinda#end_form"
15
+ post "/jinda/end_output" => "jinda#end_output"
12
16
  # end jinda method routes
13
- post '/auth/:provider/callback' => 'sessions#create'
14
- get '/auth/:provider/callback' => 'sessions#create'
15
- get '/auth/failure' => 'sessions#failure'
16
- get '/logout' => 'sessions#destroy', :as => 'logout'
17
- get '/articles/my' => 'articles#my'
18
- get '/articles/my/destroy' => 'articles#destroy'
19
- get '/articles/show' => 'articles/show'
20
- get '/articles/edit' => 'articles/edit'
21
- get '/docs/my' => 'docs/my'
22
- get '/notes/my' => 'notes/my'
23
- get '/docs/my/destroy' => 'docs#destroy'
24
- get '/notes/my/destroy/:id' => 'notes#destroy'
25
- get '/notes/destroy/:id' => 'notes#destroy'
26
- get '/jinda/document/:id' => 'jinda#document'
27
- resources :articles do resources :comments end
17
+ post "/auth/:provider/callback" => "sessions#create"
18
+ get "/auth/:provider/callback" => "sessions#create"
19
+ get "/auth/failure" => "sessions#failure"
20
+ get "/logout" => "sessions#destroy", :as => "logout"
21
+ get "/articles/my" => "articles#my"
22
+ get "/articles/my/destroy" => "articles#destroy"
23
+ get "/articles/show" => "articles/show"
24
+ get "/articles/edit" => "articles/edit"
25
+ get "/docs/my" => "docs/my"
26
+ get "/notes/my" => "notes/my"
27
+ get "/docs/my/destroy" => "docs#destroy"
28
+ get "/notes/my/destroy/:id" => "notes#destroy"
29
+ get "/notes/destroy/:id" => "notes#destroy"
30
+ get "/jinda/document/:id" => "jinda#document"
31
+ resources :articles do
32
+ resources :comments
33
+ end
28
34
  resources :comments
29
35
  resources :notes
30
36
  resources :docs
@@ -32,13 +38,17 @@ Rails.application.routes.draw do
32
38
  resources :identities
33
39
  resources :sessions
34
40
  resources :password_resets
35
- resources :jinda, :only => [:index, :new]
41
+ resources :jinda, only: %i[index new]
36
42
  # root :to => 'jinda#index'
37
43
  # api
38
- get '/api/v1/notes/my' => 'api/v1/notes#my'
39
- post '/api/v1/notes' => 'api/v1/notes#create', as: 'api_v1_notes'
44
+ get "/api/v1/notes/my" => "api/v1/notes#my"
45
+ post "/api/v1/notes" => "api/v1/notes#create", as: "api_v1_notes"
40
46
  namespace :api do
41
- namespace :v1 do resources :notes, :only => [:index] end
47
+ namespace :v1 do
48
+ resources :notes, only: [:index]
49
+ end
42
50
  end
43
51
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
44
52
  end
53
+ # Define Routes constant
54
+ Routes = Rails.application.routes