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
@@ -0,0 +1,188 @@
1
+ # Docker Setup for Jinda Application
2
+
3
+ This document explains the Docker configuration files and how to use them for development and deployment.
4
+
5
+ ## Docker Files Overview
6
+
7
+ Your Jinda application includes several Docker configuration files:
8
+
9
+ ### 1. `Dockerfile`
10
+ - **Purpose**: Builds the Rails application container
11
+ - **Usage**: Used with `docker-compose-web.yml` for full stack deployment
12
+ - **What it does**:
13
+ - Sets up Ruby 3.3.0 environment
14
+ - Installs dependencies from Gemfile
15
+ - Copies entire application
16
+ - Configures Rails server on port 3000
17
+
18
+ ### 2. `docker-compose-mongodb.yml` (Recommended for Development)
19
+ - **Purpose**: MongoDB only on standard port
20
+ - **Best for**: Local development, CI/CD testing
21
+ - **Port**: 27017 (standard MongoDB port)
22
+ - **Usage**:
23
+ ```bash
24
+ docker compose -f docker-compose-mongodb.yml up -d
25
+ ```
26
+ - **Why use this**:
27
+ - Minimal setup
28
+ - Run Rails app locally with `rails server`
29
+ - Works with standard MongoDB tools
30
+ - No volume mount configuration needed
31
+
32
+ ### 3. `docker-compose.yml`
33
+ - **Purpose**: Simple MongoDB container
34
+ - **Port**: 27017 (standard MongoDB port)
35
+ - **Usage**:
36
+ ```bash
37
+ docker compose up -d
38
+ ```
39
+
40
+ ### 4. `docker-compose-web.yml`
41
+ - **Purpose**: Full stack with web app and MongoDB in containers
42
+ - **Best for**: Production-like environment, full containerized development
43
+ - **Ports**:
44
+ - Rails: 3000
45
+ - MongoDB: 27017
46
+ - **Important**: Edit this file before using for development with local gem modifications
47
+ - **Usage**:
48
+ ```bash
49
+ docker compose -f docker-compose-web.yml up -d
50
+ ```
51
+
52
+ ## Getting Started
53
+
54
+ ### Option A: MongoDB Only (Recommended)
55
+
56
+ This is the simplest approach for development:
57
+
58
+ 1. **Start MongoDB**:
59
+ ```bash
60
+ docker compose -f docker-compose-mongodb.yml up -d
61
+ ```
62
+
63
+ 2. **Verify MongoDB is running**:
64
+ ```bash
65
+ docker ps
66
+ ```
67
+
68
+ 3. **Run your Rails app locally**:
69
+ ```bash
70
+ bundle install
71
+ rails jinda:seed
72
+ rails server
73
+ ```
74
+
75
+ 4. **Stop MongoDB when done**:
76
+ ```bash
77
+ docker compose -f docker-compose-mongodb.yml down
78
+ ```
79
+
80
+ ### Option B: Full Stack (Web + MongoDB)
81
+
82
+ Use this for containerized development or testing:
83
+
84
+ 1. **Edit `docker-compose-web.yml`** (optional, for local gem development):
85
+ ```yaml
86
+ services:
87
+ web:
88
+ volumes:
89
+ - .:/myapp
90
+ # Add your local gem paths:
91
+ - ~/mygem/jinda:/path/to/local/jinda
92
+ - ~/mygem/jinda_adminlte:/path/to/local/jinda_adminlte
93
+ ```
94
+
95
+ 2. **Start full stack**:
96
+ ```bash
97
+ docker compose -f docker-compose-web.yml up -d
98
+ ```
99
+
100
+ 3. **View logs**:
101
+ ```bash
102
+ docker compose -f docker-compose-web.yml logs -f web
103
+ ```
104
+
105
+ 4. **Access application**:
106
+ - Web: http://localhost:3000
107
+ - MongoDB: localhost:27017
108
+
109
+ 5. **Stop services**:
110
+ ```bash
111
+ docker compose -f docker-compose-web.yml down
112
+ ```
113
+
114
+ ## MongoDB Port Information
115
+
116
+ All Docker configurations use the **standard MongoDB port 27017**:
117
+ - Consistent with MongoDB defaults
118
+ - Works with standard MongoDB clients
119
+ - Compatible with CI/CD systems
120
+ - No special configuration needed in mongoid.yml
121
+
122
+ ## For CI/CD
123
+
124
+ Your CI pipeline should use `docker-compose-mongodb.yml`:
125
+
126
+ ```yaml
127
+ # GitHub Actions example
128
+ services:
129
+ mongodb:
130
+ image: mongo:latest
131
+ ports:
132
+ - 27017:27017
133
+ ```
134
+
135
+ Then run tests with:
136
+ ```bash
137
+ MONGODB_PORT=27017 rake test
138
+ ```
139
+
140
+ ## Troubleshooting
141
+
142
+ ### Port Already in Use
143
+ If port 27017 is already in use:
144
+ ```bash
145
+ # Check what's using the port
146
+ lsof -i :27017
147
+
148
+ # If it's an old container
149
+ docker ps -a | grep mongo
150
+ docker stop <container_name>
151
+ docker rm <container_name>
152
+ ```
153
+
154
+ ### Cannot Connect to MongoDB
155
+ 1. Verify MongoDB is running:
156
+ ```bash
157
+ docker ps | grep mongo
158
+ ```
159
+
160
+ 2. Check logs:
161
+ ```bash
162
+ docker logs <container_name>
163
+ ```
164
+
165
+ 3. Test connection:
166
+ ```bash
167
+ mongosh mongodb://localhost:27017
168
+ ```
169
+
170
+ ### Volume Data Persistence
171
+ To remove all data and start fresh:
172
+ ```bash
173
+ docker compose -f docker-compose-mongodb.yml down -v
174
+ ```
175
+
176
+ ## Best Practices
177
+
178
+ 1. **Development**: Use `docker-compose-mongodb.yml` and run Rails locally
179
+ 2. **Testing**: Use MongoDB-only containers with standard port 27017
180
+ 3. **Production**: Use appropriate production Docker configurations (not these dev files)
181
+ 4. **Local Gem Development**: Edit `docker-compose-web.yml` volume mounts as needed
182
+ 5. **CI/CD**: Always use standard port 27017 for consistency
183
+
184
+ ## Additional Resources
185
+
186
+ - [Docker Compose Documentation](https://docs.docker.com/compose/)
187
+ - [MongoDB Docker Hub](https://hub.docker.com/_/mongo)
188
+ - [Jinda Documentation](https://github.com/kul1/jinda)
@@ -1,16 +1,24 @@
1
- # https://docs.docker.com/compose/rails/
2
- # FROM ruby:2.6.8
3
- FROM ruby:3.1.2
1
+ # Dockerfile for Jinda Rails Application
2
+ # This Dockerfile is used with docker-compose-web.yml for full stack deployment
3
+ # It copies the entire application and sets up the web container
4
+ # For CI/testing, use docker-compose-mongodb.yml for MongoDB only
5
+ # Reference: https://docs.docker.com/compose/rails/
6
+
7
+ FROM ruby:3.3.0
4
8
  RUN apt-get update -qq
5
9
  RUN mkdir /myapp
6
10
  WORKDIR /myapp
11
+
12
+ # Copy dependency files first for better layer caching
7
13
  COPY Gemfile /myapp/Gemfile
8
14
  COPY Gemfile.lock /myapp/Gemfile.lock
9
- # Fix from here
10
- # RUN gem install bundler:2.2.27
11
- RUN gem install bundler:2.3.25
12
- # Fix end here
15
+ COPY vendor /myapp/vendor
16
+
17
+ # Install bundler and dependencies
18
+ RUN gem install bundler:2.4.10
13
19
  RUN bundle install
20
+
21
+ # Copy entire application (for full deployment)
14
22
  COPY . /myapp
15
23
 
16
24
  # Set Rails environment to production
data/test/dummy/Gemfile CHANGED
@@ -1,22 +1,30 @@
1
1
  source "https://rubygems.org"
2
- git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
2
 
4
- ruby "3.1.2"
3
+ ruby "3.3.0"
5
4
 
6
5
  # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
7
- gem "rails", "~> 7.0.4"
6
+ gem "rails", "~> 7.1.6"
8
7
 
9
8
  # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
10
9
  gem "sprockets-rails"
11
10
 
12
11
  # Use the Puma web server [https://github.com/puma/puma]
13
- gem "puma", "~> 5.0"
12
+ gem "puma", ">= 5.0"
13
+
14
+ # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
15
+ gem "importmap-rails"
16
+
17
+ # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
18
+ gem "turbo-rails"
19
+
20
+ # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
21
+ gem "stimulus-rails"
14
22
 
15
23
  # Build JSON APIs with ease [https://github.com/rails/jbuilder]
16
24
  gem "jbuilder"
17
25
 
18
26
  # Use Redis adapter to run Action Cable in production
19
- # gem "redis", "~> 4.0"
27
+ # gem "redis", ">= 4.0.1"
20
28
 
21
29
  # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
22
30
  # gem "kredis"
@@ -25,17 +33,14 @@ gem "jbuilder"
25
33
  # gem "bcrypt", "~> 3.1.7"
26
34
 
27
35
  # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
28
- gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
36
+ gem "tzinfo-data", platforms: %i[ windows jruby ]
29
37
 
30
38
  # Reduces boot times through caching; required in config/boot.rb
31
39
  gem "bootsnap", require: false
32
40
 
33
- # Use Sass to process CSS
34
- # gem "sassc-rails"
35
-
36
41
  group :development, :test do
37
42
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
38
- gem "debug", platforms: %i[ mri mingw x64_mingw ]
43
+ gem "debug", platforms: %i[ mri windows ]
39
44
  end
40
45
 
41
46
  group :development do
@@ -48,11 +53,10 @@ group :development do
48
53
  # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
49
54
  # gem "spring"
50
55
  end
51
- # gem "jinda", path: "../../../jinda"
52
- # gem "jinda_adminlte" , path: "../../../jinda_adminlte"
53
- gem "jinda", "~> 0.7.7.4"
54
- gem "jinda_adminlte"
55
- gem "bson", "4.4.2"
56
+
57
+ gem 'jinda', path: '/Users/kul/mygem/jinda'
58
+ gem 'jinda_adminlte', path: '/Users/kul/mygem/jinda_adminlte'
59
+ gem "bson", "~> 4.15"
56
60
  gem "maruku", "~> 0.7.3"
57
61
  gem "bcrypt"
58
62
  gem "rouge"
@@ -61,23 +65,27 @@ gem "font-awesome-rails"
61
65
  gem "font-awesome-sass", "~> 5.12.0"
62
66
  gem "meta-tags"
63
67
  gem "jquery-turbolinks", "2.1.0"
64
- gem "mongo", "2.11.3"
68
+ gem "mongo", "~> 2.19"
65
69
  gem "turbolinks_render"
66
70
  gem "haml-rails", "~> 2.0.1"
71
+ gem "haml", "~> 5.1"
72
+ gem "mail"
67
73
  gem "prawn"
68
74
  gem "redcarpet"
69
- gem "oauth2", "1.4.4"
70
- gem "omniauth", "1.9.1"
71
- gem "omniauth-oauth2", "1.6.0"
72
- gem "omniauth-identity", "~> 1.1.1"
73
- gem "omniauth-facebook", "6.0.0"
74
- gem "omniauth-google-oauth2", "0.8.0"
75
+ gem "oauth2", "~> 2.0"
76
+ gem "omniauth", "~> 2.0"
77
+ gem "omniauth-oauth2", "~> 1.8"
78
+ gem "omniauth-identity", "~> 3.1"
79
+ gem "omniauth-facebook", "10.0.0"
80
+ gem "omniauth-google-oauth2", "~> 1.1"
75
81
  gem "dotenv-rails"
76
- gem "cloudinary", "1.13.2"
77
- gem "kaminari", "1.2.0"
78
- gem "jquery-rails", "4.3.5"
82
+ gem "cloudinary", "~> 1.13"
83
+ gem "kaminari", "~> 1.2"
84
+ gem "jquery-rails", "~> 4.3"
79
85
  gem "mongoid"
80
- gem "rexml", "~> 3.2.4"
86
+ gem "rexml", "~> 3.2"
87
+ gem "mongoid-paperclip", require: "mongoid_paperclip"
88
+ gem "kaminari-mongoid", "~> 1.0"
81
89
 
82
90
  group :development, :test do
83
91
  gem "shoulda"
@@ -96,7 +104,8 @@ group :development, :test do
96
104
  gem "rb-fsevent"
97
105
  gem "valid_attribute"
98
106
  gem "faker"
107
+ gem "rubocop"
108
+ gem "rubocop-rails"
109
+ gem "rubocop-performance"
110
+ gem "rubocop-minitest"
99
111
  end
100
- gem "mongoid-paperclip", require: "mongoid_paperclip"
101
- gem "kaminari-mongoid", "1.0.1"
102
- gem 'rspec_junit_formatter'