jinda_engine 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +173 -0
- data/Rakefile +32 -0
- data/app/assets/config/jinda_engine/manifest.js +4 -0
- data/app/assets/images/jinda_engine/4dcity-old.ico +0 -0
- data/app/assets/images/jinda_engine/4dcity.ico +0 -0
- data/app/assets/images/jinda_engine/account.png +0 -0
- data/app/assets/images/jinda_engine/add.png +0 -0
- data/app/assets/images/jinda_engine/ajax-loader-circle.gif +0 -0
- data/app/assets/images/jinda_engine/ajax-loader.gif +0 -0
- data/app/assets/images/jinda_engine/anchor.png +0 -0
- data/app/assets/images/jinda_engine/application_double.png +0 -0
- data/app/assets/images/jinda_engine/application_form_edit.png +0 -0
- data/app/assets/images/jinda_engine/arrow_left.png +0 -0
- data/app/assets/images/jinda_engine/arrow_right.png +0 -0
- data/app/assets/images/jinda_engine/arrow_turn_left.png +0 -0
- data/app/assets/images/jinda_engine/arrow_turn_right.png +0 -0
- data/app/assets/images/jinda_engine/calendar.png +0 -0
- data/app/assets/images/jinda_engine/cancel.png +0 -0
- data/app/assets/images/jinda_engine/chart_bar.png +0 -0
- data/app/assets/images/jinda_engine/clock.png +0 -0
- data/app/assets/images/jinda_engine/cog.png +0 -0
- data/app/assets/images/jinda_engine/control_fastforward.png +0 -0
- data/app/assets/images/jinda_engine/control_play.png +0 -0
- data/app/assets/images/jinda_engine/cross.png +0 -0
- data/app/assets/images/jinda_engine/delete.png +0 -0
- data/app/assets/images/jinda_engine/external-link.png +0 -0
- data/app/assets/images/jinda_engine/facebook-continue-button.png +0 -0
- data/app/assets/images/jinda_engine/facebooksmall.png +0 -0
- data/app/assets/images/jinda_engine/favicon.ico +0 -0
- data/app/assets/images/jinda_engine/freemind(mm).png +0 -0
- data/app/assets/images/jinda_engine/google-continue-button.png +0 -0
- data/app/assets/images/jinda_engine/help.png +0 -0
- data/app/assets/images/jinda_engine/highway-menu.png +0 -0
- data/app/assets/images/jinda_engine/highway.png +0 -0
- data/app/assets/images/jinda_engine/house.png +0 -0
- data/app/assets/images/jinda_engine/icons-18-black.png +0 -0
- data/app/assets/images/jinda_engine/icons-18-white.png +0 -0
- data/app/assets/images/jinda_engine/icons-36-black.png +0 -0
- data/app/assets/images/jinda_engine/icons-36-white.png +0 -0
- data/app/assets/images/jinda_engine/logo.png +0 -0
- data/app/assets/images/jinda_engine/logo_jinda.png +0 -0
- data/app/assets/images/jinda_engine/logout.png +0 -0
- data/app/assets/images/jinda_engine/new.gif +0 -0
- data/app/assets/images/jinda_engine/new.png +0 -0
- data/app/assets/images/jinda_engine/page.png +0 -0
- data/app/assets/images/jinda_engine/page_attach.png +0 -0
- data/app/assets/images/jinda_engine/page_green.png +0 -0
- data/app/assets/images/jinda_engine/page_output.png +0 -0
- data/app/assets/images/jinda_engine/page_pdf.png +0 -0
- data/app/assets/images/jinda_engine/pencil.png +0 -0
- data/app/assets/images/jinda_engine/printer.png +0 -0
- data/app/assets/images/jinda_engine/refresh.png +0 -0
- data/app/assets/images/jinda_engine/report.png +0 -0
- data/app/assets/images/jinda_engine/rssmall.png +0 -0
- data/app/assets/images/jinda_engine/tick.png +0 -0
- data/app/assets/images/jinda_engine/twittersmall.png +0 -0
- data/app/assets/images/jinda_engine/user.png +0 -0
- data/app/assets/images/jinda_engine/user_admin_gear.png +0 -0
- data/app/assets/images/jinda_engine/view_code.png +0 -0
- data/app/assets/javascripts/jinda_engine/application.js +24 -0
- data/app/assets/javascripts/jinda_engine/application.js-jqm +27 -0
- data/app/assets/javascripts/jinda_engine/cable.js +13 -0
- data/app/assets/javascripts/jinda_engine/disable_enter_key.js +10 -0
- data/app/assets/javascripts/jinda_engine/iscroll-wrapper.js +32 -0
- data/app/assets/javascripts/jinda_engine/iscroll.js +1084 -0
- data/app/assets/javascripts/jinda_engine/jinda.js +14 -0
- data/app/assets/javascripts/jinda_engine/jquery.mobile-1.2.1.js +9272 -0
- data/app/assets/javascripts/jinda_engine/jquery.mobile.datebox.js +1778 -0
- data/app/assets/javascripts/jinda_engine/jquery.mobile.splitview.js +695 -0
- data/app/assets/stylesheets/jinda_engine/app.scss +90 -0
- data/app/assets/stylesheets/jinda_engine/application.css.scss +34 -0
- data/app/assets/stylesheets/jinda_engine/articles.scss +94 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun.eot +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun.woff +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun_bold.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun_bolditalic.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/sarabun_italic.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.eot +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew-webfont.woff +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew.css +47 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/app/assets/stylesheets/jinda_engine/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/app/assets/stylesheets/jinda_engine/images/ajax-loader.gif +0 -0
- data/app/assets/stylesheets/jinda_engine/images/button_black.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/button_blue.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/button_red.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/icons-18-black.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/icons-18-white.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/icons-36-black.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/icons-36-white.png +0 -0
- data/app/assets/stylesheets/jinda_engine/images/indicator.gif +0 -0
- data/app/assets/stylesheets/jinda_engine/jinda.css +52 -0
- data/app/assets/stylesheets/jinda_engine/jquery.mobile-1.2.1.css +2339 -0
- data/app/assets/stylesheets/jinda_engine/jquery.mobile.datebox.css +65 -0
- data/app/assets/stylesheets/jinda_engine/jquery.mobile.grids.collapsible.css +122 -0
- data/app/assets/stylesheets/jinda_engine/jquery.mobile.splitview.css +128 -0
- data/app/assets/stylesheets/jinda_engine/kul-4.2.css +1516 -0
- data/app/assets/stylesheets/jinda_engine/kul-4.2.min.css +11 -0
- data/app/assets/stylesheets/jinda_engine/modules.scss +84 -0
- data/app/assets/stylesheets/jinda_engine/sarabun.css +37 -0
- data/app/assets/stylesheets/jinda_engine/social.scss +133 -0
- data/app/controllers/jindra_engine/admins_controller.rb +9 -0
- data/app/controllers/jindra_engine/api/v1/notes_controller.rb +81 -0
- data/app/controllers/jindra_engine/application_controller.rb +44 -0
- data/app/controllers/jindra_engine/articles_controller.rb +112 -0
- data/app/controllers/jindra_engine/comments_controller.rb +21 -0
- data/app/controllers/jindra_engine/concerns/jinda_general_concern.rb +179 -0
- data/app/controllers/jindra_engine/concerns/jinda_run_concern.rb +365 -0
- data/app/controllers/jindra_engine/devs_controller.rb +4 -0
- data/app/controllers/jindra_engine/docs_controller.rb +59 -0
- data/app/controllers/jindra_engine/identities_controller.rb +7 -0
- data/app/controllers/jindra_engine/jinda_controller.rb +71 -0
- data/app/controllers/jindra_engine/notes_controller.rb +87 -0
- data/app/controllers/jindra_engine/password_resets.rb +30 -0
- data/app/controllers/jindra_engine/password_resets_controller.rb +35 -0
- data/app/controllers/jindra_engine/sessions_controller.rb +45 -0
- data/app/controllers/jindra_engine/sitemap_controller.rb +15 -0
- data/app/controllers/jindra_engine/users_controller.rb +35 -0
- data/app/helpers/jinda_engine/jinda_helper.rb +1005 -0
- data/app/jinda/index.mm +366 -0
- data/app/jinda/template/index.mm +366 -0
- data/app/jinda/template/linkview.haml +21 -0
- data/app/jinda/template/view.html.erb +26 -0
- data/app/mailers/jinda_engine/application_mailer.rb +4 -0
- data/app/mailers/jinda_engine/jinda_mailer.rb +7 -0
- data/app/mailers/jinda_engine/note_mailer.rb +10 -0
- data/app/mailers/jinda_engine/user_mailer.rb +15 -0
- data/app/views/jinda_engine/adminbsbs/content.haml +241 -0
- data/app/views/jinda_engine/admins/edit_role/edit_role.html.erb +7 -0
- data/app/views/jinda_engine/admins/edit_role/select_user.html.erb +4 -0
- data/app/views/jinda_engine/api/v1/note.haml +0 -0
- data/app/views/jinda_engine/articles/edit.haml +12 -0
- data/app/views/jinda_engine/articles/edit_article/edit_article.html.erb +13 -0
- data/app/views/jinda_engine/articles/edit_article/select_article.html.erb +12 -0
- data/app/views/jinda_engine/articles/index.haml +23 -0
- data/app/views/jinda_engine/articles/my.haml +20 -0
- data/app/views/jinda_engine/articles/new_article/form_article.html.erb +16 -0
- data/app/views/jinda_engine/articles/show.html.haml +25 -0
- data/app/views/jinda_engine/articles/xedit_article/edit_article.html.erb +13 -0
- data/app/views/jinda_engine/ctrs/vfolder1/viewfile1.html.erb +23 -0
- data/app/views/jinda_engine/ctrs/vfolder1/viewfile2.html.erb +23 -0
- data/app/views/jinda_engine/ctrs/vfolder2/viewfile2.html.erb +23 -0
- data/app/views/jinda_engine/custom/_adsense.haml +6 -0
- data/app/views/jinda_engine/docs/doc_edit/doc_edit.html.erb +21 -0
- data/app/views/jinda_engine/docs/doc_edit/doc_select.html.erb +14 -0
- data/app/views/jinda_engine/docs/doc_new/doc_form.html.erb +26 -0
- data/app/views/jinda_engine/docs/doc_new/doc_form.md +36 -0
- data/app/views/jinda_engine/docs/doc_xedit/doc_edit.html.erb +21 -0
- data/app/views/jinda_engine/docs/edit/select_note.html.erb +14 -0
- data/app/views/jinda_engine/docs/index.haml +21 -0
- data/app/views/jinda_engine/docs/my.haml +27 -0
- data/app/views/jinda_engine/identities/new.html.erb +32 -0
- data/app/views/jinda_engine/jinda/_activity.md +10 -0
- data/app/views/jinda_engine/jinda/_menu.haml +27 -0
- data/app/views/jinda_engine/jinda/_menu_mm.haml +44 -0
- data/app/views/jinda_engine/jinda/_model.md +5 -0
- data/app/views/jinda_engine/jinda/_modul.md +9 -0
- data/app/views/jinda_engine/jinda/_pending_home.haml +5 -0
- data/app/views/jinda_engine/jinda/_pending_page.haml +24 -0
- data/app/views/jinda_engine/jinda/_service.md +24 -0
- data/app/views/jinda_engine/jinda/_static.haml +13 -0
- data/app/views/jinda_engine/jinda/doc-thai.md +37 -0
- data/app/views/jinda_engine/jinda/doc.md +36 -0
- data/app/views/jinda_engine/jinda/error_logs.haml +22 -0
- data/app/views/jinda_engine/jinda/feed.rss.builder +27 -0
- data/app/views/jinda_engine/jinda/help.haml +20 -0
- data/app/views/jinda_engine/jinda/index.html.haml +53 -0
- data/app/views/jinda_engine/jinda/logs.haml +22 -0
- data/app/views/jinda_engine/jinda/notice_logs.haml +18 -0
- data/app/views/jinda_engine/jinda/pending.haml +1 -0
- data/app/views/jinda_engine/jinda/run_form.haml +42 -0
- data/app/views/jinda_engine/jinda/run_output.haml +38 -0
- data/app/views/jinda_engine/jinda/search.haml +20 -0
- data/app/views/jinda_engine/jinda/status.haml +61 -0
- data/app/views/jinda_engine/jinda_mailer/gmail.html.erb +9 -0
- data/app/views/jinda_engine/layouts/_head.html.erb +10 -0
- data/app/views/jinda_engine/layouts/_meta_tag.html.erb +19 -0
- data/app/views/jinda_engine/layouts/application.haml +4 -0
- data/app/views/jinda_engine/layouts/bsb/_footer.haml +7 -0
- data/app/views/jinda_engine/layouts/bsb/_header.haml +147 -0
- data/app/views/jinda_engine/layouts/bsb/_menu.haml +47 -0
- data/app/views/jinda_engine/layouts/bsb/_menu_mm.haml +34 -0
- data/app/views/jinda_engine/layouts/bsb/_rightbar.haml +123 -0
- data/app/views/jinda_engine/layouts/bsb/_sidebar.haml +155 -0
- data/app/views/jinda_engine/layouts/bsb/application.haml-bsb +47 -0
- data/app/views/jinda_engine/layouts/gmail.html.erb +9 -0
- data/app/views/jinda_engine/layouts/jqm/_full.haml +33 -0
- data/app/views/jinda_engine/layouts/jqm/_page.haml +16 -0
- data/app/views/jinda_engine/layouts/jqm/application.haml-jqm +4 -0
- data/app/views/jinda_engine/layouts/mailer.html.erb +13 -0
- data/app/views/jinda_engine/layouts/mailer.html.haml +3 -0
- data/app/views/jinda_engine/layouts/mailer.text.erb +1 -0
- data/app/views/jinda_engine/layouts/mailer.text.haml +1 -0
- data/app/views/jinda_engine/layouts/mobile.html.erb +13 -0
- data/app/views/jinda_engine/layouts/mobilejq.html.erb +31 -0
- data/app/views/jinda_engine/layouts/print.html.erb +22 -0
- data/app/views/jinda_engine/layouts/utf8.html.erb +22 -0
- data/app/views/jinda_engine/note_mailer/gmail.html.haml +7 -0
- data/app/views/jinda_engine/note_mailer/gmail.text.haml +8 -0
- data/app/views/jinda_engine/notes/delete/select_note.html.erb +14 -0
- data/app/views/jinda_engine/notes/edit/edit_note.html.erb +10 -0
- data/app/views/jinda_engine/notes/edit/select_note.html.erb +14 -0
- data/app/views/jinda_engine/notes/index.haml +71 -0
- data/app/views/jinda_engine/notes/mail/display_mail.html.erb +20 -0
- data/app/views/jinda_engine/notes/mail/select_note.html.erb +19 -0
- data/app/views/jinda_engine/notes/mail/show.html.haml +13 -0
- data/app/views/jinda_engine/notes/my.haml +21 -0
- data/app/views/jinda_engine/notes/new/new_note.html.erb +13 -0
- data/app/views/jinda_engine/notes/show.haml +10 -0
- data/app/views/jinda_engine/notes/xedit/edit_note.html.erb +10 -0
- data/app/views/jinda_engine/password_resets/edit.html.erb +21 -0
- data/app/views/jinda_engine/password_resets/new.html.erb +7 -0
- data/app/views/jinda_engine/sessions/new.html.erb +20 -0
- data/app/views/jinda_engine/sitemap/index.xml.haml +10 -0
- data/app/views/jinda_engine/user_mailer/password_reset.html.haml +3 -0
- data/app/views/jinda_engine/user_mailer/password_reset.text.erb +3 -0
- data/app/views/jinda_engine/user_mailer/password_reset.text.haml +3 -0
- data/app/views/jinda_engine/users/index.haml +13 -0
- data/app/views/jinda_engine/users/pwd/enter.html.erb +6 -0
- data/app/views/jinda_engine/users/user/enter_user.html.erb +8 -0
- data/config/application.rb +58 -0
- data/config/initializers/jinda_engine/assets.rb +14 -0
- data/config/initializers/jinda_engine/jinda.rb +13 -0
- data/config/initializers/jinda_engine/mongoid.rb +9 -0
- data/config/initializers/jinda_engine/mongoid.rb-org +9 -0
- data/config/initializers/jinda_engine/omniauth.rb-org +17 -0
- data/config/jinda_engine/cloudinary.yml +9 -0
- data/config/routes.rb +18 -0
- data/db/jinda_engine/seeds.rb +6 -0
- data/lib/generators/jinda_engine/USAGE +2 -0
- data/lib/generators/jinda_engine/config_generator.rb +95 -0
- data/lib/generators/jinda_engine/install_generator.rb +237 -0
- data/lib/generators/jinda_engine/minitest_generator.rb +30 -0
- data/lib/generators/jinda_engine/rspec_generator.rb +30 -0
- data/lib/generators/jinda_engine/templates/README.md +173 -0
- data/lib/generators/jinda_engine/templates/app/assets/config/manifest.js +4 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/4dcity-old.ico +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/4dcity.ico +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/account.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/add.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/ajax-loader-circle.gif +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/anchor.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/application_double.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/application_form_edit.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/arrow_left.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/arrow_right.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/arrow_turn_left.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/arrow_turn_right.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/calendar.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/cancel.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/chart_bar.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/clock.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/cog.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/control_fastforward.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/control_play.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/cross.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/delete.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/external-link.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/facebook-continue-button.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/facebooksmall.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/favicon.ico +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/freemind(mm).png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/google-continue-button.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/help.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/highway-menu.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/highway.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/house.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/logo.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/logo_jinda.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/logout.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/new.gif +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/new.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/page.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/page_attach.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/page_green.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/page_output.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/page_pdf.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/pencil.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/printer.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/refresh.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/report.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/rssmall.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/tick.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/twittersmall.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/user.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/user_admin_gear.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/images/view_code.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/application.js +24 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/application.js-jqm +27 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/cable.js +13 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/disable_enter_key.js +10 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/iscroll-wrapper.js +32 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/iscroll.js +1084 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/jinda.js +14 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile-1.2.1.js +9272 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile.datebox.js +1778 -0
- data/lib/generators/jinda_engine/templates/app/assets/javascripts/jquery.mobile.splitview.js +695 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/app.scss +90 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/application.css.scss +34 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/articles.scss +94 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.eot +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun.woff +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_bold.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_bolditalic.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/sarabun_italic.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.eot +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew-webfont.woff +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew.css +47 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.eot +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bold-webfont.woff +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.eot +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_bolditalic-webfont.woff +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.eot +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.ttf +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/fonts/thsarabunnew_italic-webfont.woff +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/ajax-loader.gif +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_black.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_blue.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/button_red.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-18-black.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-18-white.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-36-black.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/icons-36-white.png +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/images/indicator.gif +0 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jinda.css +52 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile-1.2.1.css +2339 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.datebox.css +65 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.grids.collapsible.css +122 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/jquery.mobile.splitview.css +128 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/kul-4.2.css +1516 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/kul-4.2.min.css +11 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/modules.scss +84 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/sarabun.css +37 -0
- data/lib/generators/jinda_engine/templates/app/assets/stylesheets/social.scss +133 -0
- data/lib/generators/jinda_engine/templates/app/channels/application_cable/channel.rb +4 -0
- data/lib/generators/jinda_engine/templates/app/channels/application_cable/connection.rb +4 -0
- data/lib/generators/jinda_engine/templates/app/controllers/api/v1/notes_controller.rb +81 -0
- data/lib/generators/jinda_engine/templates/app/controllers/concerns/jinda_general_concern.rb-org +179 -0
- data/lib/generators/jinda_engine/templates/app/controllers/concerns/jinda_run_concern.rb-org +365 -0
- data/lib/generators/jinda_engine/templates/app/helpers/admins_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/application_helper.rb +33 -0
- data/lib/generators/jinda_engine/templates/app/helpers/articles_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/basic_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/comments_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/ctrs_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/devs_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/pictures_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/sitemap_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/helpers/users_helper.rb +2 -0
- data/lib/generators/jinda_engine/templates/app/jinda/index.mm +366 -0
- data/lib/generators/jinda_engine/templates/app/jinda/template/index.mm +366 -0
- data/lib/generators/jinda_engine/templates/app/jinda/template/linkview.haml +21 -0
- data/lib/generators/jinda_engine/templates/app/jinda/template/view.html.erb +26 -0
- data/lib/generators/jinda_engine/templates/app/mailers/application_mailer.rb +4 -0
- data/lib/generators/jinda_engine/templates/app/mailers/jinda_mailer.rb +7 -0
- data/lib/generators/jinda_engine/templates/app/mailers/note_mailer.rb +10 -0
- data/lib/generators/jinda_engine/templates/app/mailers/user_mailer.rb +15 -0
- data/lib/generators/jinda_engine/templates/app/models/address.rb +14 -0
- data/lib/generators/jinda_engine/templates/app/models/article.rb +14 -0
- data/lib/generators/jinda_engine/templates/app/models/comment.rb +11 -0
- data/lib/generators/jinda_engine/templates/app/models/identity.rb +18 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/doc.rb +36 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/module.rb +11 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/notice.rb +14 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/role.rb +8 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/runseq.rb +24 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/service.rb +17 -0
- data/lib/generators/jinda_engine/templates/app/models/jinda/xmain.rb +38 -0
- data/lib/generators/jinda_engine/templates/app/models/note.rb +22 -0
- data/lib/generators/jinda_engine/templates/app/models/param.rb +41 -0
- data/lib/generators/jinda_engine/templates/app/models/person.rb +14 -0
- data/lib/generators/jinda_engine/templates/app/models/user.rb +66 -0
- data/lib/generators/jinda_engine/templates/app/views/adminbsbs/content.haml +241 -0
- data/lib/generators/jinda_engine/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
- data/lib/generators/jinda_engine/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
- data/lib/generators/jinda_engine/templates/app/views/api/v1/note.haml +0 -0
- data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder1/viewfile1.html.erb +23 -0
- data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder1/viewfile2.html.erb +23 -0
- data/lib/generators/jinda_engine/templates/app/views/ctrs/vfolder2/viewfile2.html.erb +23 -0
- data/lib/generators/jinda_engine/templates/app/views/custom/_adsense.haml +6 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/doc_edit/doc_select.html.erb +14 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/doc_new/doc_form.html.erb +26 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/doc_new/doc_form.md +36 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/edit/select_note.html.erb +14 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/index.haml +21 -0
- data/lib/generators/jinda_engine/templates/app/views/docs/my.haml +27 -0
- data/lib/generators/jinda_engine/templates/app/views/identities/new.html.erb +32 -0
- data/lib/generators/jinda_engine/templates/app/views/jinda_mailer/gmail.html.erb +9 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/_head.html.erb +10 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/_meta_tag.html.erb +19 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/application.haml +4 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_footer.haml +7 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_header.haml +147 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_menu.haml +47 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_menu_mm.haml +34 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_rightbar.haml +123 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/_sidebar.haml +155 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/bsb/application.haml-bsb +47 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/gmail.html.erb +9 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/_full.haml +33 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/_page.haml +16 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/jqm/application.haml-jqm +4 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.html.erb +13 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.html.haml +3 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.text.erb +1 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mailer.text.haml +1 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mobile.html.erb +13 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/mobilejq.html.erb +31 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/print.html.erb +22 -0
- data/lib/generators/jinda_engine/templates/app/views/layouts/utf8.html.erb +22 -0
- data/lib/generators/jinda_engine/templates/app/views/note_mailer/gmail.html.haml +7 -0
- data/lib/generators/jinda_engine/templates/app/views/note_mailer/gmail.text.haml +8 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/delete/select_note.html.erb +14 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/edit/edit_note.html.erb +10 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/edit/select_note.html.erb +14 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/index.haml +71 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/mail/display_mail.html.erb +20 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/mail/select_note.html.erb +19 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/mail/show.html.haml +13 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/my.haml +21 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/new/new_note.html.erb +13 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/show.haml +10 -0
- data/lib/generators/jinda_engine/templates/app/views/notes/xedit/edit_note.html.erb +10 -0
- data/lib/generators/jinda_engine/templates/app/views/password_resets/edit.html.erb +21 -0
- data/lib/generators/jinda_engine/templates/app/views/password_resets/new.html.erb +7 -0
- data/lib/generators/jinda_engine/templates/app/views/sessions/new.html.erb +20 -0
- data/lib/generators/jinda_engine/templates/app/views/sitemap/index.xml.haml +10 -0
- data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.html.haml +3 -0
- data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.text.erb +3 -0
- data/lib/generators/jinda_engine/templates/app/views/user_mailer/password_reset.text.haml +3 -0
- data/lib/generators/jinda_engine/templates/app/views/users/index.haml +13 -0
- data/lib/generators/jinda_engine/templates/app/views/users/pwd/enter.html.erb +6 -0
- data/lib/generators/jinda_engine/templates/app/views/users/user/enter_user.html.erb +8 -0
- data/lib/generators/jinda_engine/templates/config/cloudinary.yml +9 -0
- data/lib/generators/jinda_engine/templates/db/seeds.rb +6 -0
- data/lib/generators/jinda_engine/templates/dot/dot.env +2 -0
- data/lib/generators/jinda_engine/templates/dotrspec +3 -0
- data/lib/generators/jinda_engine/templates/jinda.yml +10 -0
- data/lib/generators/jinda_engine/templates/public/404.html +67 -0
- data/lib/generators/jinda_engine/templates/public/422.html +67 -0
- data/lib/generators/jinda_engine/templates/public/500.html +66 -0
- data/lib/generators/jinda_engine/templates/public/assets/images/logo.png +0 -0
- data/lib/generators/jinda_engine/templates/public/favicon.ico +0 -0
- data/lib/generators/jinda_engine/templates/public/robots.txt +3 -0
- data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_get_index_spec.rb +23 -0
- data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_get_my_spec.rb +14 -0
- data/lib/generators/jinda_engine/templates/spec/controllers/api/v1_post_spec.rb +19 -0
- data/lib/generators/jinda_engine/templates/spec/controllers/sessions_controller_spec.rb +96 -0
- data/lib/generators/jinda_engine/templates/spec/features/userlogins_spec.rb +23 -0
- data/lib/generators/jinda_engine/templates/spec/mailers/note_spec.rb +24 -0
- data/lib/generators/jinda_engine/templates/spec/mailers/previews/note_preview.rb +9 -0
- data/lib/generators/jinda_engine/templates/spec/models/note_spec.rb +41 -0
- data/lib/generators/jinda_engine/templates/spec/models/user_spec.rb +12 -0
- data/lib/generators/jinda_engine/templates/spec/rails_helper.rb +44 -0
- data/lib/generators/jinda_engine/templates/spec/spec_helper.rb +77 -0
- data/lib/generators/jinda_engine/templates/spec/support/authentication_helper.rb +20 -0
- data/lib/generators/jinda_engine/templates/spec/support/factory_bot.rb +12 -0
- data/lib/generators/jinda_engine/templates/spec/support/omniauth_macros.rb +38 -0
- data/lib/generators/jinda_engine/templates/spec/support/request_spec_helper.rb +8 -0
- data/lib/generators/jinda_engine/templates/spec/views/articles/_article.html.erb_spec.rbx +14 -0
- data/lib/generators/jinda_engine/templates/test/application_system_test_case.rb +5 -0
- data/lib/generators/jinda_engine/templates/test/integration/jinda_routes_test.rb +42 -0
- data/lib/generators/jinda_engine/templates/test/test_helper.rb +6 -0
- data/lib/jinda_engine.rb +7 -0
- data/lib/jinda_engine/engine.rb +6 -0
- data/lib/jinda_engine/gemhelpers.rb +50 -0
- data/lib/jinda_engine/helpers.rb +1005 -0
- data/lib/jinda_engine/version.rb +3 -0
- data/lib/tasks/jinda_engine.rake +33 -0
- 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,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,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,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
|
data/lib/jinda_engine.rb
ADDED
@@ -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
|
+
|