jinda_engine 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +173 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/jinda_engine/manifest.js +4 -0
  6. data/app/assets/images/jinda_engine/4dcity-old.ico +0 -0
  7. data/app/assets/images/jinda_engine/4dcity.ico +0 -0
  8. data/app/assets/images/jinda_engine/account.png +0 -0
  9. data/app/assets/images/jinda_engine/add.png +0 -0
  10. data/app/assets/images/jinda_engine/ajax-loader-circle.gif +0 -0
  11. data/app/assets/images/jinda_engine/ajax-loader.gif +0 -0
  12. data/app/assets/images/jinda_engine/anchor.png +0 -0
  13. data/app/assets/images/jinda_engine/application_double.png +0 -0
  14. data/app/assets/images/jinda_engine/application_form_edit.png +0 -0
  15. data/app/assets/images/jinda_engine/arrow_left.png +0 -0
  16. data/app/assets/images/jinda_engine/arrow_right.png +0 -0
  17. data/app/assets/images/jinda_engine/arrow_turn_left.png +0 -0
  18. data/app/assets/images/jinda_engine/arrow_turn_right.png +0 -0
  19. data/app/assets/images/jinda_engine/calendar.png +0 -0
  20. data/app/assets/images/jinda_engine/cancel.png +0 -0
  21. data/app/assets/images/jinda_engine/chart_bar.png +0 -0
  22. data/app/assets/images/jinda_engine/clock.png +0 -0
  23. data/app/assets/images/jinda_engine/cog.png +0 -0
  24. data/app/assets/images/jinda_engine/control_fastforward.png +0 -0
  25. data/app/assets/images/jinda_engine/control_play.png +0 -0
  26. data/app/assets/images/jinda_engine/cross.png +0 -0
  27. data/app/assets/images/jinda_engine/delete.png +0 -0
  28. data/app/assets/images/jinda_engine/external-link.png +0 -0
  29. data/app/assets/images/jinda_engine/facebook-continue-button.png +0 -0
  30. data/app/assets/images/jinda_engine/facebooksmall.png +0 -0
  31. data/app/assets/images/jinda_engine/favicon.ico +0 -0
  32. data/app/assets/images/jinda_engine/freemind(mm).png +0 -0
  33. data/app/assets/images/jinda_engine/google-continue-button.png +0 -0
  34. data/app/assets/images/jinda_engine/help.png +0 -0
  35. data/app/assets/images/jinda_engine/highway-menu.png +0 -0
  36. data/app/assets/images/jinda_engine/highway.png +0 -0
  37. data/app/assets/images/jinda_engine/house.png +0 -0
  38. data/app/assets/images/jinda_engine/icons-18-black.png +0 -0
  39. data/app/assets/images/jinda_engine/icons-18-white.png +0 -0
  40. data/app/assets/images/jinda_engine/icons-36-black.png +0 -0
  41. data/app/assets/images/jinda_engine/icons-36-white.png +0 -0
  42. data/app/assets/images/jinda_engine/logo.png +0 -0
  43. data/app/assets/images/jinda_engine/logo_jinda.png +0 -0
  44. data/app/assets/images/jinda_engine/logout.png +0 -0
  45. data/app/assets/images/jinda_engine/new.gif +0 -0
  46. data/app/assets/images/jinda_engine/new.png +0 -0
  47. data/app/assets/images/jinda_engine/page.png +0 -0
  48. data/app/assets/images/jinda_engine/page_attach.png +0 -0
  49. data/app/assets/images/jinda_engine/page_green.png +0 -0
  50. data/app/assets/images/jinda_engine/page_output.png +0 -0
  51. data/app/assets/images/jinda_engine/page_pdf.png +0 -0
  52. data/app/assets/images/jinda_engine/pencil.png +0 -0
  53. data/app/assets/images/jinda_engine/printer.png +0 -0
  54. data/app/assets/images/jinda_engine/refresh.png +0 -0
  55. data/app/assets/images/jinda_engine/report.png +0 -0
  56. data/app/assets/images/jinda_engine/rssmall.png +0 -0
  57. data/app/assets/images/jinda_engine/tick.png +0 -0
  58. data/app/assets/images/jinda_engine/twittersmall.png +0 -0
  59. data/app/assets/images/jinda_engine/user.png +0 -0
  60. data/app/assets/images/jinda_engine/user_admin_gear.png +0 -0
  61. data/app/assets/images/jinda_engine/view_code.png +0 -0
  62. data/app/assets/javascripts/jinda_engine/application.js +24 -0
  63. data/app/assets/javascripts/jinda_engine/application.js-jqm +27 -0
  64. data/app/assets/javascripts/jinda_engine/cable.js +13 -0
  65. data/app/assets/javascripts/jinda_engine/disable_enter_key.js +10 -0
  66. data/app/assets/javascripts/jinda_engine/iscroll-wrapper.js +32 -0
  67. data/app/assets/javascripts/jinda_engine/iscroll.js +1084 -0
  68. data/app/assets/javascripts/jinda_engine/jinda.js +14 -0
  69. data/app/assets/javascripts/jinda_engine/jquery.mobile-1.2.1.js +9272 -0
  70. data/app/assets/javascripts/jinda_engine/jquery.mobile.datebox.js +1778 -0
  71. data/app/assets/javascripts/jinda_engine/jquery.mobile.splitview.js +695 -0
  72. data/app/assets/stylesheets/jinda_engine/app.scss +90 -0
  73. data/app/assets/stylesheets/jinda_engine/application.css.scss +34 -0
  74. data/app/assets/stylesheets/jinda_engine/articles.scss +94 -0
  75. data/app/assets/stylesheets/jinda_engine/fonts/sarabun.eot +0 -0
  76. data/app/assets/stylesheets/jinda_engine/fonts/sarabun.ttf +0 -0
  77. data/app/assets/stylesheets/jinda_engine/fonts/sarabun.woff +0 -0
  78. data/app/assets/stylesheets/jinda_engine/fonts/sarabun_bold.ttf +0 -0
  79. data/app/assets/stylesheets/jinda_engine/fonts/sarabun_bolditalic.ttf +0 -0
  80. data/app/assets/stylesheets/jinda_engine/fonts/sarabun_italic.ttf +0 -0
  81. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.eot +0 -0
  82. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.ttf +0 -0
  83. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.woff +0 -0
  84. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew.css +47 -0
  85. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.eot +0 -0
  86. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  87. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.woff +0 -0
  88. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  89. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  90. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  91. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.eot +0 -0
  92. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  93. data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.woff +0 -0
  94. data/app/assets/stylesheets/jinda_engine/images/ajax-loader.gif +0 -0
  95. data/app/assets/stylesheets/jinda_engine/images/button_black.png +0 -0
  96. data/app/assets/stylesheets/jinda_engine/images/button_blue.png +0 -0
  97. data/app/assets/stylesheets/jinda_engine/images/button_red.png +0 -0
  98. data/app/assets/stylesheets/jinda_engine/images/icons-18-black.png +0 -0
  99. data/app/assets/stylesheets/jinda_engine/images/icons-18-white.png +0 -0
  100. data/app/assets/stylesheets/jinda_engine/images/icons-36-black.png +0 -0
  101. data/app/assets/stylesheets/jinda_engine/images/icons-36-white.png +0 -0
  102. data/app/assets/stylesheets/jinda_engine/images/indicator.gif +0 -0
  103. data/app/assets/stylesheets/jinda_engine/jinda.css +52 -0
  104. data/app/assets/stylesheets/jinda_engine/jquery.mobile-1.2.1.css +2339 -0
  105. data/app/assets/stylesheets/jinda_engine/jquery.mobile.datebox.css +65 -0
  106. data/app/assets/stylesheets/jinda_engine/jquery.mobile.grids.collapsible.css +122 -0
  107. data/app/assets/stylesheets/jinda_engine/jquery.mobile.splitview.css +128 -0
  108. data/app/assets/stylesheets/jinda_engine/kul-4.2.css +1516 -0
  109. data/app/assets/stylesheets/jinda_engine/kul-4.2.min.css +11 -0
  110. data/app/assets/stylesheets/jinda_engine/modules.scss +84 -0
  111. data/app/assets/stylesheets/jinda_engine/sarabun.css +37 -0
  112. data/app/assets/stylesheets/jinda_engine/social.scss +133 -0
  113. data/app/controllers/jindra_engine/admins_controller.rb +9 -0
  114. data/app/controllers/jindra_engine/api/v1/notes_controller.rb +81 -0
  115. data/app/controllers/jindra_engine/application_controller.rb +44 -0
  116. data/app/controllers/jindra_engine/articles_controller.rb +112 -0
  117. data/app/controllers/jindra_engine/comments_controller.rb +21 -0
  118. data/app/controllers/jindra_engine/concerns/jinda_general_concern.rb +179 -0
  119. data/app/controllers/jindra_engine/concerns/jinda_run_concern.rb +365 -0
  120. data/app/controllers/jindra_engine/devs_controller.rb +4 -0
  121. data/app/controllers/jindra_engine/docs_controller.rb +59 -0
  122. data/app/controllers/jindra_engine/identities_controller.rb +7 -0
  123. data/app/controllers/jindra_engine/jinda_controller.rb +71 -0
  124. data/app/controllers/jindra_engine/notes_controller.rb +87 -0
  125. data/app/controllers/jindra_engine/password_resets.rb +30 -0
  126. data/app/controllers/jindra_engine/password_resets_controller.rb +35 -0
  127. data/app/controllers/jindra_engine/sessions_controller.rb +45 -0
  128. data/app/controllers/jindra_engine/sitemap_controller.rb +15 -0
  129. data/app/controllers/jindra_engine/users_controller.rb +35 -0
  130. data/app/helpers/jinda_engine/jinda_helper.rb +1005 -0
  131. data/app/jinda/index.mm +366 -0
  132. data/app/jinda/template/index.mm +366 -0
  133. data/app/jinda/template/linkview.haml +21 -0
  134. data/app/jinda/template/view.html.erb +26 -0
  135. data/app/mailers/jinda_engine/application_mailer.rb +4 -0
  136. data/app/mailers/jinda_engine/jinda_mailer.rb +7 -0
  137. data/app/mailers/jinda_engine/note_mailer.rb +10 -0
  138. data/app/mailers/jinda_engine/user_mailer.rb +15 -0
  139. data/app/views/jinda_engine/adminbsbs/content.haml +241 -0
  140. data/app/views/jinda_engine/admins/edit_role/edit_role.html.erb +7 -0
  141. data/app/views/jinda_engine/admins/edit_role/select_user.html.erb +4 -0
  142. data/app/views/jinda_engine/api/v1/note.haml +0 -0
  143. data/app/views/jinda_engine/articles/edit.haml +12 -0
  144. data/app/views/jinda_engine/articles/edit_article/edit_article.html.erb +13 -0
  145. data/app/views/jinda_engine/articles/edit_article/select_article.html.erb +12 -0
  146. data/app/views/jinda_engine/articles/index.haml +23 -0
  147. data/app/views/jinda_engine/articles/my.haml +20 -0
  148. data/app/views/jinda_engine/articles/new_article/form_article.html.erb +16 -0
  149. data/app/views/jinda_engine/articles/show.html.haml +25 -0
  150. data/app/views/jinda_engine/articles/xedit_article/edit_article.html.erb +13 -0
  151. data/app/views/jinda_engine/ctrs/vfolder1/viewfile1.html.erb +23 -0
  152. data/app/views/jinda_engine/ctrs/vfolder1/viewfile2.html.erb +23 -0
  153. data/app/views/jinda_engine/ctrs/vfolder2/viewfile2.html.erb +23 -0
  154. data/app/views/jinda_engine/custom/_adsense.haml +6 -0
  155. data/app/views/jinda_engine/docs/doc_edit/doc_edit.html.erb +21 -0
  156. data/app/views/jinda_engine/docs/doc_edit/doc_select.html.erb +14 -0
  157. data/app/views/jinda_engine/docs/doc_new/doc_form.html.erb +26 -0
  158. data/app/views/jinda_engine/docs/doc_new/doc_form.md +36 -0
  159. data/app/views/jinda_engine/docs/doc_xedit/doc_edit.html.erb +21 -0
  160. data/app/views/jinda_engine/docs/edit/select_note.html.erb +14 -0
  161. data/app/views/jinda_engine/docs/index.haml +21 -0
  162. data/app/views/jinda_engine/docs/my.haml +27 -0
  163. data/app/views/jinda_engine/identities/new.html.erb +32 -0
  164. data/app/views/jinda_engine/jinda/_activity.md +10 -0
  165. data/app/views/jinda_engine/jinda/_menu.haml +27 -0
  166. data/app/views/jinda_engine/jinda/_menu_mm.haml +44 -0
  167. data/app/views/jinda_engine/jinda/_model.md +5 -0
  168. data/app/views/jinda_engine/jinda/_modul.md +9 -0
  169. data/app/views/jinda_engine/jinda/_pending_home.haml +5 -0
  170. data/app/views/jinda_engine/jinda/_pending_page.haml +24 -0
  171. data/app/views/jinda_engine/jinda/_service.md +24 -0
  172. data/app/views/jinda_engine/jinda/_static.haml +13 -0
  173. data/app/views/jinda_engine/jinda/doc-thai.md +37 -0
  174. data/app/views/jinda_engine/jinda/doc.md +36 -0
  175. data/app/views/jinda_engine/jinda/error_logs.haml +22 -0
  176. data/app/views/jinda_engine/jinda/feed.rss.builder +27 -0
  177. data/app/views/jinda_engine/jinda/help.haml +20 -0
  178. data/app/views/jinda_engine/jinda/index.html.haml +53 -0
  179. data/app/views/jinda_engine/jinda/logs.haml +22 -0
  180. data/app/views/jinda_engine/jinda/notice_logs.haml +18 -0
  181. data/app/views/jinda_engine/jinda/pending.haml +1 -0
  182. data/app/views/jinda_engine/jinda/run_form.haml +42 -0
  183. data/app/views/jinda_engine/jinda/run_output.haml +38 -0
  184. data/app/views/jinda_engine/jinda/search.haml +20 -0
  185. data/app/views/jinda_engine/jinda/status.haml +61 -0
  186. data/app/views/jinda_engine/jinda_mailer/gmail.html.erb +9 -0
  187. data/app/views/jinda_engine/layouts/_head.html.erb +10 -0
  188. data/app/views/jinda_engine/layouts/_meta_tag.html.erb +19 -0
  189. data/app/views/jinda_engine/layouts/application.haml +4 -0
  190. data/app/views/jinda_engine/layouts/bsb/_footer.haml +7 -0
  191. data/app/views/jinda_engine/layouts/bsb/_header.haml +147 -0
  192. data/app/views/jinda_engine/layouts/bsb/_menu.haml +47 -0
  193. data/app/views/jinda_engine/layouts/bsb/_menu_mm.haml +34 -0
  194. data/app/views/jinda_engine/layouts/bsb/_rightbar.haml +123 -0
  195. data/app/views/jinda_engine/layouts/bsb/_sidebar.haml +155 -0
  196. data/app/views/jinda_engine/layouts/bsb/application.haml-bsb +47 -0
  197. data/app/views/jinda_engine/layouts/gmail.html.erb +9 -0
  198. data/app/views/jinda_engine/layouts/jqm/_full.haml +33 -0
  199. data/app/views/jinda_engine/layouts/jqm/_page.haml +16 -0
  200. data/app/views/jinda_engine/layouts/jqm/application.haml-jqm +4 -0
  201. data/app/views/jinda_engine/layouts/mailer.html.erb +13 -0
  202. data/app/views/jinda_engine/layouts/mailer.html.haml +3 -0
  203. data/app/views/jinda_engine/layouts/mailer.text.erb +1 -0
  204. data/app/views/jinda_engine/layouts/mailer.text.haml +1 -0
  205. data/app/views/jinda_engine/layouts/mobile.html.erb +13 -0
  206. data/app/views/jinda_engine/layouts/mobilejq.html.erb +31 -0
  207. data/app/views/jinda_engine/layouts/print.html.erb +22 -0
  208. data/app/views/jinda_engine/layouts/utf8.html.erb +22 -0
  209. data/app/views/jinda_engine/note_mailer/gmail.html.haml +7 -0
  210. data/app/views/jinda_engine/note_mailer/gmail.text.haml +8 -0
  211. data/app/views/jinda_engine/notes/delete/select_note.html.erb +14 -0
  212. data/app/views/jinda_engine/notes/edit/edit_note.html.erb +10 -0
  213. data/app/views/jinda_engine/notes/edit/select_note.html.erb +14 -0
  214. data/app/views/jinda_engine/notes/index.haml +71 -0
  215. data/app/views/jinda_engine/notes/mail/display_mail.html.erb +20 -0
  216. data/app/views/jinda_engine/notes/mail/select_note.html.erb +19 -0
  217. data/app/views/jinda_engine/notes/mail/show.html.haml +13 -0
  218. data/app/views/jinda_engine/notes/my.haml +21 -0
  219. data/app/views/jinda_engine/notes/new/new_note.html.erb +13 -0
  220. data/app/views/jinda_engine/notes/show.haml +10 -0
  221. data/app/views/jinda_engine/notes/xedit/edit_note.html.erb +10 -0
  222. data/app/views/jinda_engine/password_resets/edit.html.erb +21 -0
  223. data/app/views/jinda_engine/password_resets/new.html.erb +7 -0
  224. data/app/views/jinda_engine/sessions/new.html.erb +20 -0
  225. data/app/views/jinda_engine/sitemap/index.xml.haml +10 -0
  226. data/app/views/jinda_engine/user_mailer/password_reset.html.haml +3 -0
  227. data/app/views/jinda_engine/user_mailer/password_reset.text.erb +3 -0
  228. data/app/views/jinda_engine/user_mailer/password_reset.text.haml +3 -0
  229. data/app/views/jinda_engine/users/index.haml +13 -0
  230. data/app/views/jinda_engine/users/pwd/enter.html.erb +6 -0
  231. data/app/views/jinda_engine/users/user/enter_user.html.erb +8 -0
  232. data/config/application.rb +58 -0
  233. data/config/initializers/jinda_engine/assets.rb +14 -0
  234. data/config/initializers/jinda_engine/jinda.rb +13 -0
  235. data/config/initializers/jinda_engine/mongoid.rb +9 -0
  236. data/config/initializers/jinda_engine/mongoid.rb-org +9 -0
  237. data/config/initializers/jinda_engine/omniauth.rb-org +17 -0
  238. data/config/jinda_engine/cloudinary.yml +9 -0
  239. data/config/routes.rb +18 -0
  240. data/db/jinda_engine/seeds.rb +6 -0
  241. data/lib/generators/jinda_engine/USAGE +2 -0
  242. data/lib/generators/jinda_engine/config_generator.rb +95 -0
  243. data/lib/generators/jinda_engine/install_generator.rb +237 -0
  244. data/lib/generators/jinda_engine/minitest_generator.rb +30 -0
  245. data/lib/generators/jinda_engine/rspec_generator.rb +30 -0
  246. data/lib/generators/jinda_engine/templates/README.md +173 -0
  247. data/lib/generators/jinda_engine/templates/app/assets/config/manifest.js +4 -0
  248. data/lib/generators/jinda_engine/templates/app/assets/images/4dcity-old.ico +0 -0
  249. data/lib/generators/jinda_engine/templates/app/assets/images/4dcity.ico +0 -0
  250. data/lib/generators/jinda_engine/templates/app/assets/images/account.png +0 -0
  251. data/lib/generators/jinda_engine/templates/app/assets/images/add.png +0 -0
  252. data/lib/generators/jinda_engine/templates/app/assets/images/ajax-loader-circle.gif +0 -0
  253. data/lib/generators/jinda_engine/templates/app/assets/images/ajax-loader.gif +0 -0
  254. data/lib/generators/jinda_engine/templates/app/assets/images/anchor.png +0 -0
  255. data/lib/generators/jinda_engine/templates/app/assets/images/application_double.png +0 -0
  256. data/lib/generators/jinda_engine/templates/app/assets/images/application_form_edit.png +0 -0
  257. data/lib/generators/jinda_engine/templates/app/assets/images/arrow_left.png +0 -0
  258. data/lib/generators/jinda_engine/templates/app/assets/images/arrow_right.png +0 -0
  259. data/lib/generators/jinda_engine/templates/app/assets/images/arrow_turn_left.png +0 -0
  260. data/lib/generators/jinda_engine/templates/app/assets/images/arrow_turn_right.png +0 -0
  261. data/lib/generators/jinda_engine/templates/app/assets/images/calendar.png +0 -0
  262. data/lib/generators/jinda_engine/templates/app/assets/images/cancel.png +0 -0
  263. data/lib/generators/jinda_engine/templates/app/assets/images/chart_bar.png +0 -0
  264. data/lib/generators/jinda_engine/templates/app/assets/images/clock.png +0 -0
  265. data/lib/generators/jinda_engine/templates/app/assets/images/cog.png +0 -0
  266. data/lib/generators/jinda_engine/templates/app/assets/images/control_fastforward.png +0 -0
  267. data/lib/generators/jinda_engine/templates/app/assets/images/control_play.png +0 -0
  268. data/lib/generators/jinda_engine/templates/app/assets/images/cross.png +0 -0
  269. data/lib/generators/jinda_engine/templates/app/assets/images/delete.png +0 -0
  270. data/lib/generators/jinda_engine/templates/app/assets/images/external-link.png +0 -0
  271. data/lib/generators/jinda_engine/templates/app/assets/images/facebook-continue-button.png +0 -0
  272. data/lib/generators/jinda_engine/templates/app/assets/images/facebooksmall.png +0 -0
  273. data/lib/generators/jinda_engine/templates/app/assets/images/favicon.ico +0 -0
  274. data/lib/generators/jinda_engine/templates/app/assets/images/freemind(mm).png +0 -0
  275. data/lib/generators/jinda_engine/templates/app/assets/images/google-continue-button.png +0 -0
  276. data/lib/generators/jinda_engine/templates/app/assets/images/help.png +0 -0
  277. data/lib/generators/jinda_engine/templates/app/assets/images/highway-menu.png +0 -0
  278. data/lib/generators/jinda_engine/templates/app/assets/images/highway.png +0 -0
  279. data/lib/generators/jinda_engine/templates/app/assets/images/house.png +0 -0
  280. data/lib/generators/jinda_engine/templates/app/assets/images/icons-18-black.png +0 -0
  281. data/lib/generators/jinda_engine/templates/app/assets/images/icons-18-white.png +0 -0
  282. data/lib/generators/jinda_engine/templates/app/assets/images/icons-36-black.png +0 -0
  283. data/lib/generators/jinda_engine/templates/app/assets/images/icons-36-white.png +0 -0
  284. data/lib/generators/jinda_engine/templates/app/assets/images/logo.png +0 -0
  285. data/lib/generators/jinda_engine/templates/app/assets/images/logo_jinda.png +0 -0
  286. data/lib/generators/jinda_engine/templates/app/assets/images/logout.png +0 -0
  287. data/lib/generators/jinda_engine/templates/app/assets/images/new.gif +0 -0
  288. data/lib/generators/jinda_engine/templates/app/assets/images/new.png +0 -0
  289. data/lib/generators/jinda_engine/templates/app/assets/images/page.png +0 -0
  290. data/lib/generators/jinda_engine/templates/app/assets/images/page_attach.png +0 -0
  291. data/lib/generators/jinda_engine/templates/app/assets/images/page_green.png +0 -0
  292. data/lib/generators/jinda_engine/templates/app/assets/images/page_output.png +0 -0
  293. data/lib/generators/jinda_engine/templates/app/assets/images/page_pdf.png +0 -0
  294. data/lib/generators/jinda_engine/templates/app/assets/images/pencil.png +0 -0
  295. data/lib/generators/jinda_engine/templates/app/assets/images/printer.png +0 -0
  296. data/lib/generators/jinda_engine/templates/app/assets/images/refresh.png +0 -0
  297. data/lib/generators/jinda_engine/templates/app/assets/images/report.png +0 -0
  298. data/lib/generators/jinda_engine/templates/app/assets/images/rssmall.png +0 -0
  299. data/lib/generators/jinda_engine/templates/app/assets/images/tick.png +0 -0
  300. data/lib/generators/jinda_engine/templates/app/assets/images/twittersmall.png +0 -0
  301. data/lib/generators/jinda_engine/templates/app/assets/images/user.png +0 -0
  302. data/lib/generators/jinda_engine/templates/app/assets/images/user_admin_gear.png +0 -0
  303. data/lib/generators/jinda_engine/templates/app/assets/images/view_code.png +0 -0
  304. data/lib/generators/jinda_engine/templates/app/assets/javascripts/application.js +24 -0
  305. data/lib/generators/jinda_engine/templates/app/assets/javascripts/application.js-jqm +27 -0
  306. data/lib/generators/jinda_engine/templates/app/assets/javascripts/cable.js +13 -0
  307. data/lib/generators/jinda_engine/templates/app/assets/javascripts/disable_enter_key.js +10 -0
  308. data/lib/generators/jinda_engine/templates/app/assets/javascripts/iscroll-wrapper.js +32 -0
  309. data/lib/generators/jinda_engine/templates/app/assets/javascripts/iscroll.js +1084 -0
  310. data/lib/generators/jinda_engine/templates/app/assets/javascripts/jinda.js +14 -0
  311. data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile-1.2.1.js +9272 -0
  312. data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile.datebox.js +1778 -0
  313. data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile.splitview.js +695 -0
  314. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/app.scss +90 -0
  315. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/application.css.scss +34 -0
  316. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/articles.scss +94 -0
  317. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
  318. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
  319. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
  320. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
  321. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
  322. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
  323. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
  324. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
  325. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
  326. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
  327. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
  328. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
  329. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
  330. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
  331. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
  332. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
  333. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
  334. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
  335. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
  336. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/ajax-loader.gif +0 -0
  337. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_black.png +0 -0
  338. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_blue.png +0 -0
  339. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_red.png +0 -0
  340. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
  341. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
  342. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
  343. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
  344. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/indicator.gif +0 -0
  345. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jinda.css +52 -0
  346. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile-1.2.1.css +2339 -0
  347. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
  348. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
  349. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.splitview.css +128 -0
  350. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/kul-4.2.css +1516 -0
  351. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/kul-4.2.min.css +11 -0
  352. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/modules.scss +84 -0
  353. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/sarabun.css +37 -0
  354. data/lib/generators/jinda_engine/templates/app/assets/stylesheets/social.scss +133 -0
  355. data/lib/generators/jinda_engine/templates/app/channels/application_cable/channel.rb +4 -0
  356. data/lib/generators/jinda_engine/templates/app/channels/application_cable/connection.rb +4 -0
  357. data/lib/generators/jinda_engine/templates/app/controllers/api/v1/notes_controller.rb +81 -0
  358. data/lib/generators/jinda_engine/templates/app/controllers/concerns/jinda_general_concern.rb-org +179 -0
  359. data/lib/generators/jinda_engine/templates/app/controllers/concerns/jinda_run_concern.rb-org +365 -0
  360. data/lib/generators/jinda_engine/templates/app/helpers/admins_helper.rb +2 -0
  361. data/lib/generators/jinda_engine/templates/app/helpers/application_helper.rb +33 -0
  362. data/lib/generators/jinda_engine/templates/app/helpers/articles_helper.rb +2 -0
  363. data/lib/generators/jinda_engine/templates/app/helpers/basic_helper.rb +2 -0
  364. data/lib/generators/jinda_engine/templates/app/helpers/comments_helper.rb +2 -0
  365. data/lib/generators/jinda_engine/templates/app/helpers/ctrs_helper.rb +2 -0
  366. data/lib/generators/jinda_engine/templates/app/helpers/devs_helper.rb +2 -0
  367. data/lib/generators/jinda_engine/templates/app/helpers/pictures_helper.rb +2 -0
  368. data/lib/generators/jinda_engine/templates/app/helpers/sitemap_helper.rb +2 -0
  369. data/lib/generators/jinda_engine/templates/app/helpers/users_helper.rb +2 -0
  370. data/lib/generators/jinda_engine/templates/app/jinda/index.mm +366 -0
  371. data/lib/generators/jinda_engine/templates/app/jinda/template/index.mm +366 -0
  372. data/lib/generators/jinda_engine/templates/app/jinda/template/linkview.haml +21 -0
  373. data/lib/generators/jinda_engine/templates/app/jinda/template/view.html.erb +26 -0
  374. data/lib/generators/jinda_engine/templates/app/mailers/application_mailer.rb +4 -0
  375. data/lib/generators/jinda_engine/templates/app/mailers/jinda_mailer.rb +7 -0
  376. data/lib/generators/jinda_engine/templates/app/mailers/note_mailer.rb +10 -0
  377. data/lib/generators/jinda_engine/templates/app/mailers/user_mailer.rb +15 -0
  378. data/lib/generators/jinda_engine/templates/app/models/address.rb +14 -0
  379. data/lib/generators/jinda_engine/templates/app/models/article.rb +14 -0
  380. data/lib/generators/jinda_engine/templates/app/models/comment.rb +11 -0
  381. data/lib/generators/jinda_engine/templates/app/models/identity.rb +18 -0
  382. data/lib/generators/jinda_engine/templates/app/models/jinda/doc.rb +36 -0
  383. data/lib/generators/jinda_engine/templates/app/models/jinda/module.rb +11 -0
  384. data/lib/generators/jinda_engine/templates/app/models/jinda/notice.rb +14 -0
  385. data/lib/generators/jinda_engine/templates/app/models/jinda/role.rb +8 -0
  386. data/lib/generators/jinda_engine/templates/app/models/jinda/runseq.rb +24 -0
  387. data/lib/generators/jinda_engine/templates/app/models/jinda/service.rb +17 -0
  388. data/lib/generators/jinda_engine/templates/app/models/jinda/xmain.rb +38 -0
  389. data/lib/generators/jinda_engine/templates/app/models/note.rb +22 -0
  390. data/lib/generators/jinda_engine/templates/app/models/param.rb +41 -0
  391. data/lib/generators/jinda_engine/templates/app/models/person.rb +14 -0
  392. data/lib/generators/jinda_engine/templates/app/models/user.rb +66 -0
  393. data/lib/generators/jinda_engine/templates/app/views/adminbsbs/content.haml +241 -0
  394. data/lib/generators/jinda_engine/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
  395. data/lib/generators/jinda_engine/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
  396. data/lib/generators/jinda_engine/templates/app/views/api/v1/note.haml +0 -0
  397. data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
  398. data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
  399. data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
  400. data/lib/generators/jinda_engine/templates/app/views/custom/_adsense.haml +6 -0
  401. data/lib/generators/jinda_engine/templates/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
  402. data/lib/generators/jinda_engine/templates/app/views/docs/doc_edit/doc_select.html.erb +14 -0
  403. data/lib/generators/jinda_engine/templates/app/views/docs/doc_new/doc_form.html.erb +26 -0
  404. data/lib/generators/jinda_engine/templates/app/views/docs/doc_new/doc_form.md +36 -0
  405. data/lib/generators/jinda_engine/templates/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
  406. data/lib/generators/jinda_engine/templates/app/views/docs/edit/select_note.html.erb +14 -0
  407. data/lib/generators/jinda_engine/templates/app/views/docs/index.haml +21 -0
  408. data/lib/generators/jinda_engine/templates/app/views/docs/my.haml +27 -0
  409. data/lib/generators/jinda_engine/templates/app/views/identities/new.html.erb +32 -0
  410. data/lib/generators/jinda_engine/templates/app/views/jinda_mailer/gmail.html.erb +9 -0
  411. data/lib/generators/jinda_engine/templates/app/views/layouts/_head.html.erb +10 -0
  412. data/lib/generators/jinda_engine/templates/app/views/layouts/_meta_tag.html.erb +19 -0
  413. data/lib/generators/jinda_engine/templates/app/views/layouts/application.haml +4 -0
  414. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_footer.haml +7 -0
  415. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_header.haml +147 -0
  416. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_menu.haml +47 -0
  417. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_menu_mm.haml +34 -0
  418. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_rightbar.haml +123 -0
  419. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_sidebar.haml +155 -0
  420. data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/application.haml-bsb +47 -0
  421. data/lib/generators/jinda_engine/templates/app/views/layouts/gmail.html.erb +9 -0
  422. data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/_full.haml +33 -0
  423. data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/_page.haml +16 -0
  424. data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/application.haml-jqm +4 -0
  425. data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.html.erb +13 -0
  426. data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.html.haml +3 -0
  427. data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.text.erb +1 -0
  428. data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.text.haml +1 -0
  429. data/lib/generators/jinda_engine/templates/app/views/layouts/mobile.html.erb +13 -0
  430. data/lib/generators/jinda_engine/templates/app/views/layouts/mobilejq.html.erb +31 -0
  431. data/lib/generators/jinda_engine/templates/app/views/layouts/print.html.erb +22 -0
  432. data/lib/generators/jinda_engine/templates/app/views/layouts/utf8.html.erb +22 -0
  433. data/lib/generators/jinda_engine/templates/app/views/note_mailer/gmail.html.haml +7 -0
  434. data/lib/generators/jinda_engine/templates/app/views/note_mailer/gmail.text.haml +8 -0
  435. data/lib/generators/jinda_engine/templates/app/views/notes/delete/select_note.html.erb +14 -0
  436. data/lib/generators/jinda_engine/templates/app/views/notes/edit/edit_note.html.erb +10 -0
  437. data/lib/generators/jinda_engine/templates/app/views/notes/edit/select_note.html.erb +14 -0
  438. data/lib/generators/jinda_engine/templates/app/views/notes/index.haml +71 -0
  439. data/lib/generators/jinda_engine/templates/app/views/notes/mail/display_mail.html.erb +20 -0
  440. data/lib/generators/jinda_engine/templates/app/views/notes/mail/select_note.html.erb +19 -0
  441. data/lib/generators/jinda_engine/templates/app/views/notes/mail/show.html.haml +13 -0
  442. data/lib/generators/jinda_engine/templates/app/views/notes/my.haml +21 -0
  443. data/lib/generators/jinda_engine/templates/app/views/notes/new/new_note.html.erb +13 -0
  444. data/lib/generators/jinda_engine/templates/app/views/notes/show.haml +10 -0
  445. data/lib/generators/jinda_engine/templates/app/views/notes/xedit/edit_note.html.erb +10 -0
  446. data/lib/generators/jinda_engine/templates/app/views/password_resets/edit.html.erb +21 -0
  447. data/lib/generators/jinda_engine/templates/app/views/password_resets/new.html.erb +7 -0
  448. data/lib/generators/jinda_engine/templates/app/views/sessions/new.html.erb +20 -0
  449. data/lib/generators/jinda_engine/templates/app/views/sitemap/index.xml.haml +10 -0
  450. data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.html.haml +3 -0
  451. data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.text.erb +3 -0
  452. data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.text.haml +3 -0
  453. data/lib/generators/jinda_engine/templates/app/views/users/index.haml +13 -0
  454. data/lib/generators/jinda_engine/templates/app/views/users/pwd/enter.html.erb +6 -0
  455. data/lib/generators/jinda_engine/templates/app/views/users/user/enter_user.html.erb +8 -0
  456. data/lib/generators/jinda_engine/templates/config/cloudinary.yml +9 -0
  457. data/lib/generators/jinda_engine/templates/db/seeds.rb +6 -0
  458. data/lib/generators/jinda_engine/templates/dot/dot.env +2 -0
  459. data/lib/generators/jinda_engine/templates/dotrspec +3 -0
  460. data/lib/generators/jinda_engine/templates/jinda.yml +10 -0
  461. data/lib/generators/jinda_engine/templates/public/404.html +67 -0
  462. data/lib/generators/jinda_engine/templates/public/422.html +67 -0
  463. data/lib/generators/jinda_engine/templates/public/500.html +66 -0
  464. data/lib/generators/jinda_engine/templates/public/assets/images/logo.png +0 -0
  465. data/lib/generators/jinda_engine/templates/public/favicon.ico +0 -0
  466. data/lib/generators/jinda_engine/templates/public/robots.txt +3 -0
  467. data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_get_index_spec.rb +23 -0
  468. data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_get_my_spec.rb +14 -0
  469. data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_post_spec.rb +19 -0
  470. data/lib/generators/jinda_engine/templates/spec/controllers/sessions_controller_spec.rb +96 -0
  471. data/lib/generators/jinda_engine/templates/spec/features/userlogins_spec.rb +23 -0
  472. data/lib/generators/jinda_engine/templates/spec/mailers/note_spec.rb +24 -0
  473. data/lib/generators/jinda_engine/templates/spec/mailers/previews/note_preview.rb +9 -0
  474. data/lib/generators/jinda_engine/templates/spec/models/note_spec.rb +41 -0
  475. data/lib/generators/jinda_engine/templates/spec/models/user_spec.rb +12 -0
  476. data/lib/generators/jinda_engine/templates/spec/rails_helper.rb +44 -0
  477. data/lib/generators/jinda_engine/templates/spec/spec_helper.rb +77 -0
  478. data/lib/generators/jinda_engine/templates/spec/support/authentication_helper.rb +20 -0
  479. data/lib/generators/jinda_engine/templates/spec/support/factory_bot.rb +12 -0
  480. data/lib/generators/jinda_engine/templates/spec/support/omniauth_macros.rb +38 -0
  481. data/lib/generators/jinda_engine/templates/spec/support/request_spec_helper.rb +8 -0
  482. data/lib/generators/jinda_engine/templates/spec/views/articles/_article.html.erb_spec.rbx +14 -0
  483. data/lib/generators/jinda_engine/templates/test/application_system_test_case.rb +5 -0
  484. data/lib/generators/jinda_engine/templates/test/integration/jinda_routes_test.rb +42 -0
  485. data/lib/generators/jinda_engine/templates/test/test_helper.rb +6 -0
  486. data/lib/jinda_engine.rb +7 -0
  487. data/lib/jinda_engine/engine.rb +6 -0
  488. data/lib/jinda_engine/gemhelpers.rb +50 -0
  489. data/lib/jinda_engine/helpers.rb +1005 -0
  490. data/lib/jinda_engine/version.rb +3 -0
  491. data/lib/tasks/jinda_engine.rake +33 -0
  492. metadata +1203 -0
@@ -0,0 +1,23 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.feature "Userlogins", type: :feature do
4
+ scenario "Admin User Sign In" do
5
+ visit "/sessions/new"
6
+
7
+ fill_in "User name", :with => "admin"
8
+ fill_in "Password", :with => "secret1"
9
+ click_button "Sign In"
10
+
11
+ expect(page).to have_text("My Articles")
12
+ end
13
+
14
+ scenario "Google User Sign In" do
15
+ visit "/auth/google_oauth2"
16
+ expect(page).to have_text("My Articles")
17
+ end
18
+
19
+
20
+
21
+
22
+
23
+ end
@@ -0,0 +1,24 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe NoteMailer do
4
+
5
+
6
+ describe 'gmail' do
7
+
8
+ let(:mail) {NoteMailer.gmail("Test Body", "receiver@email.com", "Test title", "from@example.com")}
9
+
10
+
11
+ it 'renders the subject' do
12
+ expect(mail.subject).to eql('Test title')
13
+ end
14
+
15
+ it 'renders the receiver email' do
16
+ expect(mail.to).to eql(['receiver@email.com'])
17
+ end
18
+
19
+ it 'renders the sender email' do
20
+ expect(mail.from).to eql(['from@example.com'])
21
+ end
22
+ end
23
+
24
+ end
@@ -0,0 +1,9 @@
1
+ # Preview all emails at http://localhost:3000/rails/mailers/note
2
+ class NotePreview < ActionMailer::Preview
3
+
4
+ # Preview this email at http://localhost:3000/rails/mailers/note/gmail
5
+ def gmail
6
+ NoteMailer.gmail
7
+ end
8
+
9
+ end
@@ -0,0 +1,41 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe Note, type: :model do
4
+ describe "Required only title (Maximum 30)" do
5
+
6
+ it "valid with both title and body" do
7
+ before_count = Note.count
8
+ Note.create(title: "dddd", body: "body")
9
+ expect(Note.count).not_to eq(before_count)
10
+ end
11
+
12
+ it "valid with only title" do
13
+ before_count = Note.count
14
+ Note.create(title: "Title")
15
+ expect(Note.count).not_to eq(before_count)
16
+ end
17
+
18
+ it "invalid with only body" do
19
+ before_count = Note.count
20
+ Note.new(body: "body")
21
+ expect(Note.count).to eq(before_count)
22
+ end
23
+
24
+ it "invalid body length more than 1000" do
25
+ before_count = Note.count
26
+ title_max = "x"*30
27
+ body_max = "y"*1001
28
+ Note.create(title: title_max, body: body_max)
29
+ expect(Note.count).to eq(before_count)
30
+ end
31
+ end
32
+
33
+ describe "title data blank" do
34
+ it "auto fill from body" do
35
+ note = Note.create(:title => "", :body => "Body content")
36
+ note.title.should == "Body content"
37
+ end
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,12 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe "User", :type => :model do
4
+ it "prevents duplicates " do
5
+ user1 = create(:user, code: 'abc', email: 'test@email.com')
6
+ user2 = build(:user, code: 'abc', email: 'test@email.com')
7
+
8
+ user1.should be_valid
9
+ #user2.should be_valid
10
+ user2.should_not have_valid(:code)
11
+ end
12
+ end
@@ -0,0 +1,44 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV['RAILS_ENV'] ||= 'test'
3
+ require File.expand_path('../../config/environment', __FILE__)
4
+ Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } # Add this at top of file
5
+ # Prevent database truncation if the environment is production
6
+ abort("The Rails environment is running in production mode!") if Rails.env.production?
7
+ require 'rspec/rails'
8
+ require 'spec_helper'
9
+ require 'support/factory_bot'
10
+ Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
11
+
12
+ RSpec.configure do |config|
13
+
14
+ # Add create_and_sign_in_user
15
+ config.include AuthenticationHelper, type: :controller
16
+
17
+ # To include RequestSpecHelper
18
+ config.include RequestSpecHelper, type: :request
19
+
20
+ # config.infer_spec_type_from_file_location!
21
+
22
+ # Filter lines from Rails gems in backtraces.
23
+ config.filter_rails_from_backtrace!
24
+ # arbitrary gems may also be filtered via:
25
+ # config.filter_gems_from_backtrace("gem name")
26
+
27
+
28
+
29
+ # Added to make factorybot work
30
+ # FactoryBot.allow_class_lookup = false
31
+ config.use_transactional_fixtures = false
32
+ config.include FactoryBot::Syntax::Methods
33
+ config.before do
34
+ FactoryBot.find_definitions
35
+ end
36
+ # configure shoulda matchers to use rspec as the test framework and full matcher libraries for rails
37
+ Shoulda::Matchers.configure do |config|
38
+ config.integrate do |with|
39
+ with.test_framework :rspec
40
+ with.library :rails
41
+ end
42
+ end
43
+
44
+ end
@@ -0,0 +1,77 @@
1
+ # https://www.natashatherobot.com/rails-test-omniauth-sessions-controller/
2
+ # spec_helper.rb
3
+ require 'rubygems'
4
+ require 'capybara/rspec'
5
+ # Set up the mock
6
+ require 'support/omniauth_macros'
7
+ require 'valid_attribute'
8
+
9
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
10
+ RSpec.configure do |config|
11
+ # config.include SpecTestHelper, :type => :controller
12
+ config.expect_with :rspec do |expectations|
13
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
14
+ expectations.syntax = [:expect, :should]
15
+ end
16
+ config.mock_with :rspec do |mocks|
17
+ mocks.verify_partial_doubles = true
18
+ end
19
+ config.shared_context_metadata_behavior = :apply_to_host_groups
20
+
21
+ # https://github.com/DatabaseCleaner/database_cleaner #
22
+ # config.use_transactional_fixtures = false
23
+ # https://stackoverflow.com/questions/15148585/undefined-method-visit-when-using-rspec-and-capybara-in-rails
24
+ config.include Capybara::DSL
25
+
26
+ # https://stackoverflow.com/questions/21445164/set-chrome-as-default-browser-for-rspec-capybara/30551595
27
+ Capybara.register_driver :chrome do |app|
28
+ Capybara::Selenium::Driver.new(app, :browser => :chrome)
29
+ end
30
+ Capybara.javascript_driver = :chrome
31
+
32
+ config.before(:suite) do
33
+ if config.use_transactional_fixtures?
34
+ raise(<<-MSG)
35
+ Delete line `config.use_transactional_fixtures = true` from rails_helper.rb
36
+ (or set it to false) to prevent uncommitted transactions being used in
37
+ JavaScript-dependent specs.
38
+
39
+ During testing, the app-under-test that the browser driver connects to
40
+ uses a different database connection to the database connection used by
41
+ the spec. The app's database connection would not be able to access
42
+ uncommitted transaction data setup over the spec's database connection.
43
+ MSG
44
+ end
45
+ DatabaseCleaner.clean_with(:truncation)
46
+ end
47
+
48
+ config.before(:each, :js => true) do
49
+ #DatabaseCleaner.strategy = :transaction
50
+ DatabaseCleaner.strategy = :truncation
51
+ end
52
+
53
+ config.before(:each, type: :feature) do
54
+ # :rack_test driver's Rack app under test shares database connection
55
+ # with the specs, so continue to use transaction strategy for speed.
56
+ driver_shares_db_connection_with_specs = Capybara.current_driver == :rack_test
57
+
58
+ unless driver_shares_db_connection_with_specs
59
+ # Driver is probably for an external browser with an app
60
+ # under test that does *not* share a database connection with the
61
+ # specs, so use truncation strategy.
62
+ # DatabaseCleaner.strategy = :truncation
63
+ DatabaseCleaner[:mongoid].strategy = :truncation
64
+
65
+ end
66
+ end
67
+
68
+ config.before(:each) do
69
+ DatabaseCleaner.start
70
+ end
71
+
72
+ config.append_after(:each) do
73
+ DatabaseCleaner.clean
74
+ end
75
+ # https://github.com/DatabaseCleaner/database_cleaner #
76
+
77
+ end
@@ -0,0 +1,20 @@
1
+ module AuthenticationHelper
2
+ # controller return 1. Session 2. Cookies ==> user.id
3
+ def sign_in(user)
4
+ @user = user
5
+ current_ma_user
6
+ end
7
+
8
+ def create_and_sign_in_user
9
+ user = FactoryBot.create(:user)
10
+ sign_in(user)
11
+ return user
12
+ end
13
+ # from Jinda::Helpers
14
+ def current_ma_user
15
+ @user ||= User.where(:auth_token => user.auth_token)
16
+ return @user
17
+ end
18
+
19
+ end
20
+
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+ factory :user, class: 'User' do
3
+ code {Faker::Name.unique.name}
4
+ email {Faker::Internet.email}
5
+ role {"Admin"}
6
+ end
7
+ factory :note, class: 'Note' do
8
+ title { Faker::Lorem.sentence[0..29] }
9
+ body { Faker::Lorem.sentence[0..999] }
10
+ user { User.first }
11
+ end
12
+ end
@@ -0,0 +1,38 @@
1
+ # in spec/support/omniauth_macro.rb
2
+ module OmniauthMacros
3
+ require 'omniauth'
4
+ #To enable all request to OmniAuth short circuited to use below mock authentication hash the /auth/provider will redirect immediately to /auth/provider/call back
5
+ # https://github.com/omniauth/omniauth/wiki/Integration-Testing
6
+ OmniAuth.config.test_mode = true
7
+
8
+ omniauth_hash = { 'provider' => 'google_oauth2',
9
+ 'uid' => '105362273761620533373',
10
+ 'info' => {
11
+ 'name' => 'Kulsoft',
12
+ 'email' => 'kulsoft.net@gmail.com',
13
+ 'nickname' => 'kulsoft'
14
+ },
15
+ 'extra' => {'raw_info' =>
16
+ { 'location' => 'San Francisco',
17
+ 'gravatar_id' => '123456789'
18
+ }
19
+ }
20
+ }
21
+ OmniAuth.config.add_mock(:google_oauth2, omniauth_hash)
22
+
23
+ omniauth_hash = { 'provider' => 'facebook',
24
+ 'uid' => '105362273761620533373',
25
+ 'info' => {
26
+ 'name' => 'Peter Colling',
27
+ 'email' => '1.0@kul.asia',
28
+ 'nickname' => 'Peter C'
29
+ },
30
+ 'extra' => {'raw_info' =>
31
+ {'location' => 'LA',
32
+ 'gravatar_id' => '13'
33
+ }
34
+ }
35
+ }
36
+ OmniAuth.config.add_mock(:facebook, omniauth_hash)
37
+ end
38
+
@@ -0,0 +1,8 @@
1
+ #request_spec_helper.rb
2
+
3
+ module RequestSpecHelper
4
+ # Parse JSON response to ruby hash
5
+ def json
6
+ JSON.parse(response.body)
7
+ end
8
+ end
@@ -0,0 +1,14 @@
1
+ let login_as_admin
2
+
3
+ describe 'articles/_article.html.erb' do
4
+ context 'when the article has a url' do
5
+ it 'display the url' do
6
+ assign(:article, Article.build(:article, url: 'http://localhost:3000/jinda/init?s=articles:new_article'))
7
+
8
+ render
9
+
10
+ expect(rendered).to have_link 'Article', href: 'http://localhost:3000/jinda/init?s=articles:new_article'
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,5 @@
1
+ require "test_helper"
2
+
3
+ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4
+ driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5
+ end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+ class RegistrationRoutesTest < ActionController::TestCase
3
+
4
+ test 'register user form route' do
5
+ assert_routing '/identities/new', {controller: 'identities', action: 'new'}
6
+ #assert_routing({path: '/identities/new', method: 'post'},{controller: 'identities', action: 'new'})
7
+ end
8
+ test 'Admin Jinda Pending' do
9
+ assert_routing '/jinda/new', {controller: 'jinda', action: 'new'}
10
+ end
11
+ test 'Admin Jinda Pending redirecting to action pending' do
12
+ assert_routing '/jinda/pending', {controller: 'jinda', action: 'pending'}
13
+ #assert_routing {'/jinda/pending', method: 'post'},{controller: 'jinda', action: 'index'})
14
+ end
15
+ test 'jinda action init' do
16
+ assert_routing '/jinda/init', {controller: 'jinda', action:'init'}
17
+ end
18
+ test 'jinda action run' do
19
+ assert_routing '/jinda/run', {controller: 'jinda', action:'run'}
20
+ end
21
+ test 'jinda action run_form' do
22
+ assert_routing '/jinda/run_form', {controller: 'jinda', action:'run_form'}
23
+ end
24
+ test 'jinda action end_form' do
25
+ assert_routing '/jinda/end_form', {controller: 'jinda', action:'end_form'}
26
+ end
27
+ test 'post jinda action end_form' do
28
+ assert_routing({ path:'/jinda/end_form',method: :post},{controller: 'jinda', action:'end_form'})
29
+ end
30
+ test 'jinda action run_do' do
31
+ assert_routing '/jinda/run_do', {controller: 'jinda', action:'run_do'}
32
+ end
33
+ # test "redirect_to(:action=>\'run_#{@runseq.action}\', :id=>@xmain.id)" do
34
+ # assert_select 'title', "Welcome to Rails Testing Guide"
35
+ # end
36
+
37
+
38
+
39
+
40
+
41
+
42
+ end
@@ -0,0 +1,6 @@
1
+ require File.expand_path('../../config/environment', __FILE__)
2
+ require 'rails/test_help'
3
+
4
+ class ActiveSupport::TestCase
5
+ # Add more helper methods to be used by all tests here...
6
+ end
@@ -0,0 +1,7 @@
1
+ require "jinda_engine/engine"
2
+ require 'jinda_engine/version'
3
+ #require 'jinda_engine/railtie'
4
+
5
+ module Jinda_engine
6
+ # Your code goes here...
7
+ end
@@ -0,0 +1,6 @@
1
+ module Jinda
2
+ class Engine < ::Rails::Engine
3
+ mattr_accessor :author_class
4
+ isolate_namespace Jinda
5
+ end
6
+ end
@@ -0,0 +1,50 @@
1
+ # This GemHelpers is to make helper able to be test in gem (not in rails)
2
+ module Jinda_engine
3
+ module GemHelpers
4
+ require 'jinda_engine/helpers'
5
+ include jinda_engine::Helpers
6
+ require 'pry'
7
+ # Find gem root
8
+ spec = Gem::Specification.find_by_name("jinda_engine")
9
+ $gem_root = spec.gem_dir
10
+
11
+ def controller_exists?(modul)
12
+ File.exists? $gem_root + "/lib/generators/jinda_engine/templates/app/controllers/#{modul}_controller.rb"
13
+ end
14
+
15
+ #
16
+ # Mock generate controller for test
17
+ # Otherwise test will call rails g controller
18
+ #
19
+ def process_controllers
20
+ process_services
21
+ modules= jinda_engine::Module.all
22
+ modules.each do |m|
23
+ next if controller_exists?(m.code)
24
+ puts " Rails generate controller #{m.code}"
25
+ end
26
+ end
27
+
28
+ def gen_view_file_exist?(dir)
29
+ gdir = $gem_root + "/spec/temp/" + dir
30
+ File.exists?(gdir)
31
+ end
32
+
33
+ def gen_view_mkdir(dir,t)
34
+ gdir = $gem_root + "/spec/temp/" + dir
35
+ Dir.mkdir(gdir)
36
+ t << "create directory #{gdir}"
37
+ end
38
+
39
+ def gen_view_createfile(sv,f,t)
40
+ gsv = $gem_root + "/lib/generators/jinda_engine/templates/" + sv
41
+ gf = $gem_root + "/spec/temp/" + f
42
+ FileUtils.cp gsv,gf
43
+ # FileUtils.cp "app/jinda_engine/template/linkview.haml",f
44
+ t << "create file #{gf}"
45
+ end
46
+
47
+
48
+ end
49
+ end
50
+