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,32 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JindaRunConcern
2
4
  extend ActiveSupport::Concern
3
5
 
4
6
  def run_form
5
7
  init_vars(params[:id])
6
8
  if authorize?
7
- if ['F', 'X'].include? @xmain.status
9
+ if %w[F X].include? @xmain.status
8
10
  redirect_to_root
9
11
  else
10
- service= @xmain.service
12
+ service = @xmain.service
11
13
  ###############################################################################################
12
14
  # Run View Form f created template by jinda rake follow freemind mm file
13
15
  ###############################################################################################
14
16
  if service
15
- @title= "Transaction ID #{@xmain.xid}: #{@xmain.name} / #{@runseq.name}"
16
- fhelp= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.md"
17
+ @title = "Transaction ID #{@xmain.xid}: #{@xmain.name} / #{@runseq.name}"
18
+ fhelp = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.md"
17
19
  ###############################################################################################
18
20
  # Check if help file available for this form
19
21
  ###############################################################################################
20
- @help = File.read(fhelp) if File.exists?(fhelp)
21
- f1= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
22
- f2= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.haml"
22
+ @help = File.read(fhelp) if File.exist?(fhelp)
23
+ f1 = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
24
+ f2 = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.haml"
23
25
  if File.file?(f1)
24
- @ui= File.read(f1)
26
+ @ui = File.read(f1)
25
27
  elsif File.file?(f2)
26
- @ui= File.read(f2)
28
+ @ui = File.read(f2)
27
29
  else
28
30
  # flash[:notice]= "Error: Can not find the view file for this controller"
29
- ma_log "Error: Can not find the view file for this controller"
31
+ ma_log 'Error: Can not find the view file for this controller'
30
32
  redirect_to_root
31
33
  end
32
34
  end
@@ -39,27 +41,25 @@ module JindaRunConcern
39
41
 
40
42
  def run_if
41
43
  init_vars(params[:id])
42
- condition= eval(@runseq.code).to_s
43
- match_found= false
44
+ condition = eval(@runseq.code).to_s
45
+ match_found = false
44
46
  if condition
45
- xml= REXML::Document.new(@runseq.xml).root
46
- next_runseq= nil
47
- text = xml.elements['//node/node'].attributes['TEXT']
48
- match, name= text.split(':',2)
49
- label= name2code(name.strip)
50
- if condition==match
51
- if label=="end"
52
- @end_job= true
47
+ xml = REXML::Document.new(@runseq.xml).root
48
+ next_runseq = nil
49
+ text = xml.elements['//node/node'].attributes['TEXT']
50
+ match, name = text.split(':', 2)
51
+ label = name2code(name.strip)
52
+ if condition == match
53
+ if label == 'end'
54
+ @end_job = true
53
55
  else
54
- next_runseq= @xmain.runseqs.where(:code=> label, :action.ne=>'redirect').first
55
- match_found= true if next_runseq
56
- @runseq_not_f= false
56
+ next_runseq = @xmain.runseqs.where(:code => label, :action.ne => 'redirect').first
57
+ match_found = true if next_runseq
58
+ @runseq_not_f = false
57
59
  end
58
60
  end
59
61
  end
60
- unless match_found || @end_job
61
- next_runseq= @xmain.runseqs.where( rstep:(@xvars['current_step']+1) ).first
62
- end
62
+ next_runseq = @xmain.runseqs.where(rstep: (@xvars['current_step'] + 1)).first unless match_found || @end_job
63
63
  end_action(next_runseq)
64
64
  end
65
65
 
@@ -67,12 +67,12 @@ module JindaRunConcern
67
67
  # eg: http://localhost:3000/notes/my
68
68
  def run_direct_to
69
69
  init_vars(params[:id])
70
- next_runseq= @xmain.runseqs.where(:id.ne=>@runseq.id, :code=>@runseq.code).first
71
- if !@runseq.code.blank?
72
- @xvars['p']['return'] = @runseq.code
70
+ next_runseq = @xmain.runseqs.where(:id.ne => @runseq.id, :code => @runseq.code).first
71
+ if @runseq.code.blank?
72
+ flash[:notice] = 'Error: missing required forward path in Freemind'
73
+ ma_log 'Error: require forward path in Freemind'
73
74
  else
74
- flash[:notice]= "Error: missing required forward path in Freemind"
75
- ma_log "Error: require forward path in Freemind"
75
+ @xvars['p']['return'] = @runseq.code
76
76
  end
77
77
  end_action(next_runseq)
78
78
  end
@@ -80,199 +80,202 @@ module JindaRunConcern
80
80
  def run_redirect
81
81
  init_vars(params[:id])
82
82
  # next_runseq= @xmain.runseqs.first :conditions=>["id != ? AND code = ?",@runseq.id, @runseq.code]
83
- next_runseq= @xmain.runseqs.where(:id.ne=>@runseq.id, :code=>@runseq.code).first
84
- @xmain.current_runseq= next_runseq.id
83
+ next_runseq = @xmain.runseqs.where(:id.ne => @runseq.id, :code => @runseq.code).first
84
+ @xmain.current_runseq = next_runseq.id
85
85
  end_action(next_runseq)
86
86
  end
87
87
 
88
- # call controller to do the freemind task using Star symbol eg: Update
89
- # not for run_form
88
+ # call controller to do the freemind task using Star symbol eg: Update
89
+ # not for run_form
90
90
  def run_do
91
91
  init_vars(params[:id])
92
- @runseq.start ||= Time.now
93
- @runseq.status= 'R' # running
94
- $runseq_id= @runseq.id
95
- $user_id= current_ma_user.try(:id)
92
+ @runseq.start ||= Time.zone.now
93
+ @runseq.status = 'R' # running
94
+ $runseq_id = @runseq.id
95
+ $user_id = current_ma_user.try(:id)
96
96
  # $xmain, $runseq, $user, $xvars, $ip from local
97
97
  set_global
98
- controller = Kernel.const_get(@xvars['custom_controller']).new
99
- result = controller.send(@runseq.code)
98
+ controller = Kernel.const_get(@xvars['custom_controller']).new
99
+ result = controller.send(@runseq.code)
100
100
  # save local var to database
101
101
  init_vars_by_runseq($runseq_id)
102
- @xvars = $xvars
103
- @xvars[@runseq.code.to_sym]= result.to_s
104
- @xvars['current_step']= @runseq.rstep
105
- @runseq.status= 'F' #finish
106
- @runseq.stop= Time.now
102
+ @xvars = $xvars
103
+ @xvars[@runseq.code.to_sym] = result.to_s
104
+ @xvars['current_step'] = @runseq.rstep
105
+ @runseq.status = 'F' # finish
106
+ @runseq.stop = Time.zone.now
107
107
  @runseq.save
108
108
  end_action
109
- rescue => e
110
- @xmain.status='E'
111
- @xvars['error']= e.to_s+e.backtrace.to_s
112
- @xmain.xvars= $xvars
109
+ rescue StandardError => e
110
+ @xmain.status = 'E'
111
+ @xvars['error'] = e.to_s + e.backtrace.to_s
112
+ @xmain.xvars = $xvars
113
113
  @xmain.save
114
- @runseq.status= 'F' #finish
115
- @runseq.stop= Time.now
114
+ @runseq.status = 'F' # finish
115
+ @runseq.stop = Time.zone.now
116
116
  @runseq.save
117
- refresh_to "/", :alert => "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
117
+ refresh_to '/', alert: "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
118
118
  end
119
119
 
120
120
  def run_list
121
121
  init_vars(params[:id])
122
- service= @xmain.service
122
+ service = @xmain.service
123
123
  # disp= get_option("display")
124
124
  # disp = Nil or :"??????"
125
125
  # get option from last node: rule, role, display
126
- disp= get_option("display")
126
+ disp = get_option('display')
127
127
  # change from Nil to false and string to true
128
- ma_display = (disp && !affirm(disp)) ? false : true
128
+ ma_display = disp && !affirm(disp) ? false : true
129
129
  # Todo check if file is available
130
130
  # if service and file exist
131
131
  # ma_display from disp of 3rd level node as rule, role, display
132
- if service && !@runseq.code.blank?
133
- f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
134
- @ui= File.read(f)
135
- if Jinda::Doc.where(:runseq_id=>@runseq.id).exists?
136
- @doc= Jinda::Doc.where(:runseq_id=>@runseq.id).first
137
- @doc.update_attributes :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
138
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
139
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
140
- :ma_secured => @xmain.service.ma_secured,
141
- :filename => "#{@runseq.code}.html.erb"
132
+ if service && @runseq.code.present?
133
+ f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
134
+ @ui = File.read(f)
135
+ if Jinda::Doc.exists?(runseq_id: @runseq.id)
136
+ @doc = Jinda::Doc.where(runseq_id: @runseq.id).first
137
+ @doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
138
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
139
+ ip: get_ip, service: service, ma_display: ma_display,
140
+ ma_secured: @xmain.service.ma_secured,
141
+ filename: "#{@runseq.code}.html.erb"
142
142
  else
143
- @doc= Jinda::Doc.create :name=> @runseq.name,
144
- :content_type=>"output", :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
145
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
146
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
147
- :ma_secured => @xmain.service.ma_secured,
148
- :filename => "#{@runseq.code}.html.erb"
143
+ @doc = Jinda::Doc.create name: @runseq.name,
144
+ content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
145
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
146
+ ip: get_ip, service: service, ma_display: ma_display,
147
+ ma_secured: @xmain.service.ma_secured,
148
+ filename: "#{@runseq.code}.html.erb"
149
149
  end
150
150
  # @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
151
- @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >>"
152
- @message = "Finish" if @runseq.end
153
- ma_log("Todo defined?(NSG_NEXT : Next >>)")
151
+ @message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
152
+ @message = 'Finish' if @runseq.end
153
+ ma_log('Todo defined?(NSG_NEXT : Next >>)')
154
154
  eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
155
155
  else
156
- flash[:notice]= "Error: Can not find the view file for this controller"
157
- ma_log "Error: Can not find the view file for this controller"
156
+ flash[:notice] = 'Error: Can not find the view file for this controller'
157
+ ma_log 'Error: Can not find the view file for this controller'
158
158
  redirect_to_root
159
159
  end
160
160
  # Check if ma_display available
161
161
  # ma_display= get_option("display")
162
162
  # if not ma_display then no display both controller-view and content then end back to root
163
- unless ma_display
164
- end_action
165
- end
163
+ return if ma_display
164
+
165
+ end_action
166
+
166
167
  # controller display from @ui
167
168
  end
168
169
 
169
170
  def run_folder
170
171
  init_vars(params[:id])
171
- service= @xmain.service
172
+ service = @xmain.service
172
173
  # disp= get_option("display")
173
174
  # disp = Nil or :"??????"
174
- disp= get_option("display")
175
- ma_display = (disp && !affirm(disp)) ? false : true
175
+ disp = get_option('display')
176
+ ma_display = disp && !affirm(disp) ? false : true
176
177
  # Todo check if file is available
177
178
  # if service and file exist
178
- if service && !@runseq.code.blank?
179
- f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
180
- @ui= File.read(f)
181
- if Jinda::Doc.where(:runseq_id=>@runseq.id).exists?
182
- @doc= Jinda::Doc.where(:runseq_id=>@runseq.id).first
183
- @doc.update_attributes :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
184
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
185
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
186
- :ma_secured => @xmain.service.ma_secured,
187
- :filename => "#{@runseq.code}.html.erb"
179
+ if service && @runseq.code.present?
180
+ f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
181
+ @ui = File.read(f)
182
+ if Jinda::Doc.exists?(runseq_id: @runseq.id)
183
+ @doc = Jinda::Doc.where(runseq_id: @runseq.id).first
184
+ @doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
185
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
186
+ ip: get_ip, service: service, ma_display: ma_display,
187
+ ma_secured: @xmain.service.ma_secured,
188
+ filename: "#{@runseq.code}.html.erb"
188
189
  else
189
- @doc= Jinda::Doc.create :name=> @runseq.name,
190
- :content_type=>"output", :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
191
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
192
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
193
- :ma_secured => @xmain.service.ma_secured,
194
- :filename => "#{@runseq.code}.html.erb"
190
+ @doc = Jinda::Doc.create name: @runseq.name,
191
+ content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
192
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
193
+ ip: get_ip, service: service, ma_display: ma_display,
194
+ ma_secured: @xmain.service.ma_secured,
195
+ filename: "#{@runseq.code}.html.erb"
195
196
  end
196
197
  # @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
197
- @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >>"
198
- @message = "Finish" if @runseq.end
199
- ma_log("Todo defined?(NSG_NEXT : Next >>)")
198
+ @message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
199
+ @message = 'Finish' if @runseq.end
200
+ ma_log('Todo defined?(NSG_NEXT : Next >>)')
200
201
  eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
201
202
  else
202
- flash[:notice]= "Error: Can not find the view file for this controller"
203
- ma_log "Error: Can not find the view file for this controller"
203
+ flash[:notice] = 'Error: Can not find the view file for this controller'
204
+ ma_log 'Error: Can not find the view file for this controller'
204
205
  redirect_to_root
205
206
  end
206
207
  # Check if ma_display available
207
208
  # ma_display= get_option("display")
208
- unless ma_display
209
- end_action
210
- end
209
+ return if ma_display
210
+
211
+ end_action
212
+
211
213
  # controller display from @ui
212
214
  end
213
215
 
214
216
  def run_output
215
217
  init_vars(params[:id])
216
- service= @xmain.service
218
+ service = @xmain.service
217
219
  # disp= get_option("display")
218
220
  # disp = Nil or :"??????"
219
- disp= get_option("display")
220
- ma_display = (disp && !affirm(disp)) ? false : true
221
+ disp = get_option('display')
222
+ ma_display = disp && !affirm(disp) ? false : true
221
223
  # Todo check if file is available
222
224
  # if service and file exist
223
- if service && !@runseq.code.blank?
224
- f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
225
- @ui= File.read(f)
226
- if Jinda::Doc.where(:runseq_id=>@runseq.id).exists?
227
- @doc= Jinda::Doc.where(:runseq_id=>@runseq.id).first
228
- @doc.update_attributes :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
229
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
230
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
231
- :ma_secured => @xmain.service.ma_secured,
232
- :filename => "#{@runseq.code}.html.erb"
225
+ if service && @runseq.code.present?
226
+ f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
227
+ @ui = File.read(f)
228
+ if Jinda::Doc.exists?(runseq_id: @runseq.id)
229
+ @doc = Jinda::Doc.where(runseq_id: @runseq.id).first
230
+ @doc.update data_text: render_to_string(inline: @ui, layout: 'utf8'),
231
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
232
+ ip: get_ip, service: service, ma_display: ma_display,
233
+ ma_secured: @xmain.service.ma_secured,
234
+ filename: "#{@runseq.code}.html.erb"
233
235
  else
234
- @doc= Jinda::Doc.create :name=> @runseq.name,
235
- :content_type=>"output", :data_text=> render_to_string(:inline=>@ui, :layout=>"utf8"),
236
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
237
- :ip=> get_ip, :service=>service, :ma_display=>ma_display,
238
- :ma_secured => @xmain.service.ma_secured,
239
- :filename => "#{@runseq.code}.html.erb"
236
+ @doc = Jinda::Doc.create name: @runseq.name,
237
+ content_type: 'output', data_text: render_to_string(inline: @ui, layout: 'utf8'),
238
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
239
+ ip: get_ip, service: service, ma_display: ma_display,
240
+ ma_secured: @xmain.service.ma_secured,
241
+ filename: "#{@runseq.code}.html.erb"
240
242
  end
241
243
  # @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >"
242
- @message = defined?(MSG_NEXT) ? MSG_NEXT : "Next >>"
243
- @message = "Finish" if @runseq.end
244
- ma_log("Todo defined?(NSG_NEXT : Next >>)")
244
+ @message = defined?(MSG_NEXT) ? MSG_NEXT : 'Next >>'
245
+ @message = 'Finish' if @runseq.end
246
+ ma_log('Todo defined?(NSG_NEXT : Next >>)')
245
247
  eval "@xvars[@runseq.code] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
246
248
  else
247
- flash[:notice]= "Error: Can not find the view file for this controller"
248
- ma_log "Error: Can not find the view file for this controller"
249
+ flash[:notice] = 'Error: Can not find the view file for this controller'
250
+ ma_log 'Error: Can not find the view file for this controller'
249
251
  redirect_to_root
250
252
  end
251
253
  # Check if ma_display available
252
254
  # ma_display= get_option("display")
253
- unless ma_display
254
- end_action
255
- end
255
+ return if ma_display
256
+
257
+ end_action
258
+
256
259
  # controller display from @ui
257
260
  end
258
261
 
259
262
  def run_mail
260
263
  init_vars(params[:id])
261
- service= @xmain.service
262
- f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
263
- @ui= File.read(f).html_safe
264
- @doc= Jinda::Doc.create :name=> @runseq.name,
265
- :content_type=>"mail", :data_text=> render_to_string(:inline=>@ui, :layout=>false),
266
- :xmain=>@xmain, :runseq=>@runseq, :user=>current_ma_user,
267
- :ip=> get_ip, :service=>service, :ma_display=>false,
268
- :ma_secured => @xmain.service.ma_secured
264
+ service = @xmain.service
265
+ f = "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
266
+ @ui = File.read(f).html_safe
267
+ @doc = Jinda::Doc.create name: @runseq.name,
268
+ content_type: 'mail', data_text: render_to_string(inline: @ui, layout: false),
269
+ xmain: @xmain, runseq: @runseq, user: current_ma_user,
270
+ ip: get_ip, service: service, ma_display: false,
271
+ ma_secured: @xmain.service.ma_secured
269
272
  eval "@xvars[:#{@runseq.code}] = url_for(:controller=>'jinda', :action=>'document', :id=>@doc.id)"
270
- mail_from = get_option('from')
273
+ get_option('from')
271
274
  # sender= render_to_string(:inline=>mail_from) if mail_from
272
- mail_to = get_option('to')
273
- recipients= render_to_string(:inline=>mail_to) if mail_to
275
+ mail_to = get_option('to')
276
+ recipients = render_to_string(inline: mail_to) if mail_to
274
277
  mail_subject = get_option('subject')
275
- subject= render_to_string(:inline=>mail_subject) || "#{@runseq.name}"
278
+ subject = render_to_string(inline: mail_subject) || @runseq.name.to_s
276
279
  JindaMailer.gmail(@doc.data_text, recipients, subject).deliver unless DONT_SEND_MAIL
277
280
  end_action
278
281
  end
@@ -290,24 +293,24 @@ module JindaRunConcern
290
293
  if params[:xmain_id]
291
294
  init_vars(params[:xmain_id])
292
295
  else
293
- ma_log "Known Bug : repeated end_form "
296
+ ma_log 'Known Bug : repeated end_form '
294
297
  redirect_to_root and return
295
298
  end
296
- eval "@xvars[@runseq.code] = {} unless @xvars[@runseq.code]"
299
+ eval '@xvars[@runseq.code] = {} unless @xvars[@runseq.code]'
297
300
  # Search for uploaded file name if exist
298
- params.each { |k,v|
301
+ params.each do |k, v|
299
302
  if params[k].respond_to? :original_filename
300
303
  get_image(k, params[k])
301
- # check if params of array in form eg: edit_article
304
+ # check if params of array in form eg: edit_article
302
305
  elsif params[k].is_a?(ActionController::Parameters)
303
- eval "@xvars[@runseq.code][k] = {} unless @xvars[@runseq.code][k]"
304
- params[k].each { |k1,v1|
306
+ eval '@xvars[@runseq.code][k] = {} unless @xvars[@runseq.code][k]'
307
+ params[k].each do |k1, v1|
305
308
  # eval "@xvars[@runseq.code][k1] = params.require(k1).permit(k1)"
306
- eval "@xvars[@runseq.code][k][k1] = v1"
309
+ eval '@xvars[@runseq.code][k][k1] = v1'
307
310
  next unless v1.respond_to?(:original_filename)
308
- doc = {}
311
+
309
312
  get_image1(k, k1, params[k][k1])
310
- }
313
+ end
311
314
  else
312
315
  # No file attached
313
316
  #
@@ -316,53 +319,50 @@ module JindaRunConcern
316
319
  # https://stackoverflow.com/questions/34949505/rails-5-unable-to-retrieve-hash-values-from-parameter
317
320
  # v = v.to_unsafe_h unless v.class == String
318
321
  # v = params.require[k] unless v.class == String
319
- v = v.to_s unless v.class == String
322
+ v.to_s unless v.instance_of?(String)
320
323
  # Create @xvars[@runseq.code]
321
- eval "@xvars[@runseq.code][k] = v"
324
+ eval '@xvars[@runseq.code][k] = v'
322
325
  end
323
- }
324
- end_action
325
- rescue => e
326
- @xmain.status='E'
327
- @xvars['error']= e.to_s+e.backtrace.to_s
328
- @xmain.xvars= $xvars
326
+ end
327
+ end_action
328
+ rescue StandardError => e
329
+ @xmain.status = 'E'
330
+ @xvars['error'] = e.to_s + e.backtrace.to_s
331
+ @xmain.xvars = $xvars
329
332
  @xmain.save
330
- @runseq.status= 'F' #finish
331
- @runseq.stop= Time.now
333
+ @runseq.status = 'F' # finish
334
+ @runseq.stop = Time.zone.now
332
335
  @runseq.save
333
- ma_log "Error:end_form "
334
- refresh_to "/", :alert => "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
336
+ ma_log 'Error:end_form '
337
+ refresh_to '/', alert: "Sorry opeation error at #{@xmain.id} #{@xvars['error']}"
335
338
  end
336
339
 
337
340
  def end_action(next_runseq = nil)
338
341
  # not for form
339
342
  # @runseq.status='F' unless @runseq_not_f
340
- @xmain.xvars= @xvars
341
- @xmain.status= 'R' # running
343
+ @xmain.xvars = @xvars
344
+ @xmain.status = 'R' # running
342
345
  @xmain.save!
343
- @runseq.status='F'
344
- @runseq.user= current_ma_user
345
- @runseq.stop= Time.now
346
+ @runseq.status = 'F'
347
+ @runseq.user = current_ma_user
348
+ @runseq.stop = Time.zone.now
346
349
  @runseq.save
347
- next_runseq= @xmain.runseqs.where(:rstep=> @runseq.rstep+1).first unless next_runseq
350
+ next_runseq ||= @xmain.runseqs.where(rstep: @runseq.rstep + 1).first
348
351
  if @end_job || !next_runseq # job finish
349
- @xmain.xvars= @xvars
350
- @xmain.status= 'F' unless @xmain.status== 'E' # finish
351
- @xmain.stop= Time.now
352
+ @xmain.xvars = @xvars
353
+ @xmain.status = 'F' unless @xmain.status == 'E' # finish
354
+ @xmain.stop = Time.zone.now
352
355
  @xmain.save
353
356
  if @xvars['p']['return']
354
357
  redirect_to @xvars['p']['return'] and return
358
+ elsif @user
359
+ redirect_to action: 'index' and return
355
360
  else
356
- if @user
357
- redirect_to :action=>'index' and return
358
- else
359
- redirect_to_root and return
360
- end
361
+ redirect_to_root and return
361
362
  end
362
363
  else
363
364
  @xmain.update_attribute :current_runseq, next_runseq.id
364
- redirect_to :action=>'run', :id=>@xmain.id and return
365
+ redirect_to action: 'run', id: @xmain.id and return
365
366
  end
366
367
  end
367
-
368
- end
368
+ end
@@ -1,50 +1,51 @@
1
- # -*- encoding : utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
3
  class JindaController < ApplicationController
4
4
  include JindaRunConcern
5
5
  include JindaGeneralConcern
6
+
6
7
  # view menu by user selected what service (module and code) to run (not all services like menu did
7
- # Its only one service
8
+ # Its only one service
8
9
 
9
10
  def init
10
- module_code, code = params[:s].split(":")
11
- @service= Jinda::Service.where(:module_code=> module_code, :code=> code).first
11
+ module_code, code = params[:s].split(':')
12
+ @service = Jinda::Service.where(module_code: module_code, code: code).first
12
13
  if @service && authorize_init?
13
- xmain = create_xmain(@service)
14
+ xmain = create_xmain(@service)
14
15
  result = create_runseq(xmain)
15
16
  unless result
16
17
  message = "Node missing action icon: cannot find action for xmain #{xmain.id}, the node required action(icon) in freemind eg: form, list, method"
17
18
  ma_log(message)
18
- flash[:notice]= message
19
- redirect_to "pending" and return
19
+ flash[:notice] = message
20
+ redirect_to 'pending' and return
20
21
  end
21
22
  xmain.update_attribute(:xvars, @xvars)
22
- xmain.runseqs.last.update_attribute(:end,true)
23
- #Above line cause error update_attribute in heroku shown in logs and it was proposed to fixed in github:'kul1/g241502'
23
+ xmain.runseqs.last.update_attribute(:end, true)
24
+ # Above line cause error update_attribute in heroku shown in logs and it was proposed to fixed in github:'kul1/g241502'
24
25
  # Main action run with :id
25
- redirect_to :action=>'run', :id=>xmain.id
26
-
26
+ redirect_to action: 'run', id: xmain.id
27
+
27
28
  else
28
- refresh_to "/", :alert => "Error: cannot process"
29
- error_run_xmain = "Error_run_xmain"
29
+ refresh_to '/', alert: 'Error: cannot process'
30
+ error_run_xmain = 'Error_run_xmain'
30
31
  ma_log(error_run_xmain)
31
32
  end
32
33
  end
33
34
 
34
- ########################################################################]
35
+ # #######################################################################]
35
36
  # run if, form, mail, output etc depend on icon in freemind
36
37
  # action from @r.action == do, form, if, output
37
38
  # Then will call def run_do, run_form, run_if, run_output
38
- ########################################################################]
39
- #
40
- # run
41
- # init_vars
39
+ # #######################################################################]
40
+ #
41
+ # run
42
+ # init_vars
42
43
  # To get all var from global and runseq, action
43
44
  # (@runseq.action)
44
- #
45
+ #
45
46
  # run_do, run_form, run_if, run_output
46
47
  # run_do => controller => action eg: update, create, document
47
- # run_form =>
48
+ # run_form =>
48
49
  # run_form.haml => - next step => def end_form
49
50
  # - next_step = end_form
50
51
  # run_if =>
@@ -52,13 +53,13 @@ class JindaController < ApplicationController
52
53
  #
53
54
  # end_action
54
55
  # => save local var to database :current_runseq
55
- # :current_runseq => next_runseq
56
+ # :current_runseq => next_runseq
56
57
  #
57
58
  def run
58
59
  init_vars(params[:id])
59
60
  if authorize?
60
61
  # session[:full_layout]= false
61
- redirect_to(:action=>"run_#{@runseq.action}", :id=>@xmain.id)
62
+ redirect_to(action: "run_#{@runseq.action}", id: @xmain.id)
62
63
  else
63
64
  redirect_to_root
64
65
  end
data/bin/lint_modified ADDED
@@ -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