help_engine 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +129 -0
- data/Rakefile +37 -0
- data/app/assets/javascripts/help_engine/application.js +13 -0
- data/app/assets/javascripts/help_engine/help_pages.js +2 -0
- data/app/assets/stylesheets/help_engine/application.css +15 -0
- data/app/assets/stylesheets/help_engine/help_pages.css +4 -0
- data/app/controllers/help_engine/application_controller.rb +4 -0
- data/app/controllers/help_engine/help_pages_controller.rb +62 -0
- data/app/helpers/help_engine/application_helper.rb +4 -0
- data/app/helpers/help_engine/help_pages_helper.rb +4 -0
- data/app/models/help_engine/help_page.rb +26 -0
- data/app/views/help_engine/help_pages/_form.html.erb +43 -0
- data/app/views/help_engine/help_pages/edit.html.erb +8 -0
- data/app/views/help_engine/help_pages/index.html.erb +21 -0
- data/app/views/help_engine/help_pages/new.html.erb +7 -0
- data/app/views/help_engine/help_pages/show.html.erb +16 -0
- data/app/views/layouts/help_engine/application.html.erb +14 -0
- data/config/routes.rb +6 -0
- data/db/migrate/20150728142457_create_help_engine_help_pages.rb +11 -0
- data/db/migrate/20150729102332_add_author_to_help_pages.rb +6 -0
- data/lib/help_engine.rb +4 -0
- data/lib/help_engine/engine.rb +6 -0
- data/lib/help_engine/version.rb +9 -0
- data/lib/tasks/help_engine_tasks.rake +4 -0
- data/test/controllers/help_engine/help_pages_controller_test.rb +51 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/home.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/assets/stylesheets/help_pages.css +20 -0
- data/test/dummy/app/assets/stylesheets/home.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/home_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/home_helper.rb +2 -0
- data/test/dummy/app/models/user.rb +5 -0
- data/test/dummy/app/views/home/index.html.erb +12 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/help_engine/application.html.erb +18 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +7 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20150729103806_create_users.rb +9 -0
- data/test/dummy/db/schema.rb +35 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +2577 -0
- data/test/dummy/log/test.log +4807 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/test/controllers/home_controller_test.rb +9 -0
- data/test/dummy/test/models/user_test.rb +9 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-Nb4-glReZdOKM_Esl7KrX92gAxxwYEv8r--wpZ2AnA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-RR_kQxJmSk1g8TuaR2k4oANAObXi9ihZHDzUmFOX9Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-SrnqbERIC3yCdUkYkP-rPk7YYSdasLVe5vPA-vjtg0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-k8puMC5Eqq6HNuUcyMyC9b78TTRu36rmHqsWorU0Rg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-pRet6NBrdPzO2QxMHMOcMoELMzGgToR9sQNAmznfB4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0-wSSu36D6YrVvOEj8KTvT9NZVstyzMsss71WxcWE60.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0bBd9lLlffpC5NrKPStP2gtkZFCZeDyYK_870IBS5SM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/10wTpXRpIK4-8G3BjoDc0_xGhrrRPOHP0-o9bRTX6p4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1_xxc9tRuRrqPRzlqPnAoeQ5-8rHxUmAoMmAEeQiIpo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1nDlh0ykt8Un7ek3I2DnMcQQhsWf60Qcl8ow8vHoEHw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2BtI15iY6obksxZAGwKu_op6HNJtOhFF2aZvua1k9Cg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2djTcaWqFaQvR0HOvOw9uoO7_DFJJpA_FnuDOdOimmE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3TfD7ggCUdf1U6vk_vfAMl4rhie387905faEZ-rhzxk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3TxoC4FlqW4lpUG06QUzYHcwAOwojOnV4ogODWK87KY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4BsnUTinY20xJE6EFwVUWY5D3idM3ZN3zhvMUwLTmzw.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4MEISqDP9AuOkU4GwbUg6iyvTE8ygI74ogDCjkGoR8w.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4ZwzEDZKiwYjFWukk0vJIHEbxea9ighL5FM8Rtg6oLc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5-X-YnySPf01eBTwek6E3a7QtAmUsMIm8aTSRyhYlYM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5MYrDqzNBlq_JRGZzXuyY00F2Wc43q7gIMDTx6bttz4.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5MuSqebc80HX46DcID0bPxVZZ42bwO4v4WfhuNh255U.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6Qyv1ZFaOcMRDd8UXRKi1x9_0Bu5ChywyzqekVjU8Wg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6ebKLq_GMaP1oFAYPCwdeADib3Uw9-nGNqxEpdCeBIU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7ezy78ekarp49sWLRBkvH9uT4JPg_-CtTwYoWI8w7GI.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/85aWm6sGrUUerMv2-j2cG91tNv3c9wsC76lcdF-syYI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8j4_9U3kUmOrYQ7Tx4MFN2kQwmFaOcGuH5axXdNN1Rw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9331DNeUloM2h0916fHV3fO2Ifqk-X7g0XUckf0SPIc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9H4RyRYnQcPWacSEHsYjkhaE_mkO0HnegiC1CxLtt_A.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9MMsnVuoBXcTv6IQiV-mPN9uamLm08vRYlJaxhYvqTU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9RauYKcVeOYCaLLYxxQrIHbZmlOdarost3wpQjnHtvI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9pfGliw2FZwEqbhVshzHoNhTfQ2hEIOCuABOjgmk8gg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A1Bb1d6kchtoem2iyBnxBRo2uSaZH41uPTk0cWoO4us.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A41MT8xWUFUMbKAP5IBvFZPFxSOy1FSR52U0Ktn9iEk.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AEYT92WiWCWnqMEKRJPXHrEC7l3FxAqj4dFeiUefPsU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BAR5AVm4w0xcnQnlvdPY4i69kq_v6TMQNdSFbHVO7XA.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Bp0DK6a8wU14_66pgM08FDTiEd6sb7ok66GKNK060Jo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CBKqi865QK6HEAe65svLVGpw8xmoNy_2JRbquR0hcJI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CvFDw1yH4H0djF_P-YoONcq5hRuAzx9pt3EoTs8TPSc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CycC8E9Nl8m3jFr_n0WQsIKUpcD1x9DyIJZR9YZxqZo.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DGLzz83PV8JVIe-BNCaxduT-qYwbcY2ew6taWisVmyA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DZsqP2fG66FVJ9wACqzE6GRdEIWFU4cU4wUqxCU1zYo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DtMSdtj9n2ytUFD3eJvg8HlYO7qtOAS6W8z3GofBjd4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DvUSkkPQMvL1zbjDlHbdiM8hyjNarRqgPeaxOKQ-HLU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/E4ps_R4XOwRWjpyl2V3QgwJ-aMh9ZSE1mPOwhTcG5zc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EeS3BFGFUeQO5qckSqB1dHwRwKJEdjZdJdO7dkhJbys.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ExxhUhA_vbDgLz2_zm67qEg9MVnXrMK5lHlXNcosJSE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FENM70mwHD12tlpTOl-rJOMGVx0RIRGKJ43eoHpJKgo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FMmFnmqmpxwGkxKK2lZ1my5bm3fG-YcaE3WFsCT2-zU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Fzye4VhJ6oTXduFYFOZxRMjeUwRT6k3ITuqdgnUlK_s.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GgRnRvCy7r7DbhcdWa4Vgbwm6NO0TH6h7SWBAajGGuM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GwFMPQD-mpnVD8XDSKLYxiH9FkFTkU-Vq3g_HDL3TlY.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HD4BLfAwO5nwHYONRfQ9g6BHotw8zrMBmejMD7LM6CA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HF7sO3rKF1kYr62za8FhiMHUy5xn-NVWZZ9Yc3PhJUY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I9qCp4PmRBzDH2-zCGniLq23anE0q3TPqxz9KKohfHg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IOY-FXTXyAAWf-j7hGKCa7alYl3iH-RfAKQW6WNCQlg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Idsm4w6u3zo8zdP5-1h6STs7F57b3lkeiPYSth33WtQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IjlhS97MX3BYWw2zAgOaKiWjPLJUKSmoQUR5y-V0EIo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JH_9SiwprSalodbxuZDN1nm0f2sqb8LcXAxwbDaM2SQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JRTp5o-2OLdgSf98RfB6ncFrr1PD4prDvoH2qZ6Cq2o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JlhpehI1KNUzskYuR9aSN8xfHovA4iKoVx6BgwkKuiU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KFlrgefvmmJ6s-sUxrVgQBpf26Zlwj2ZogFfmnNgRwI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KOGWaPIWpqLN-H2rR-73N8VcvpdOw3oSFq_HYivvqMw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KZGKo3_Ux0XnCZFDkMycBhf6j-wzqvH0Ys9XGOs9Qjc.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/L1OB9MCMq8NyBSHIl846wLHe7PAca78GXxaeaSIwYOk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lch11aVa7EVBPeHjQ0EQWVaMX2r0WzrcXwk6K9lbQ88.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LcvBwyVWxnfbdE97Htj4w4SPhxLkbg813H6mtTPvIbg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M1PC1qa68zhJ1Q7pqHL3-yTu0gMQPirKybzrY2UBVr0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M7Xa9LBFtGAlgUb6Q8mPF2LPXAd--dGDvGVQA6LOL6k.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M7gh2NlRVfGTxBrZi-1yaDdvr5y9fDb3D8fiNrzPaL8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MQxwmzY47y51HIaJJqT4PR8jjfGacV0JzDeMyZ-dhdI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MSNOSPCypCKz0zgpfKanvRFBvymb6o47iY3hPNo84Dg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MWrFZxIQI7bA-Ozd3k87Zk5hhVBpCoYoQtdAXxGqFxs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mb6TBKH27Qpq8cxbnJU9cUtct_O4qLFK0kW-l6gA0xQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MtNORCmZF38gLTPApAu-rMwhHyo3urZjJekQWrYXW_U.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mw2RiLPFUHhY-c2C5q8Qj9TFJkzaxYpJyyvMrLWi3mo.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NM_SZTEvLjOBXcUZ8v5Lc_-6rSO9gWrr5BcTib0YK58.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NRdeCMKMfp51PHF9NoC3CLtcqt71XCP7xncuLANrQLo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NauBwmu3NDN391OwfpI6htxUdkYQTsl8jYfiFEzNtgs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Nd1g7HF7QpmY6CJh8VR5uLbiL293rHFeMC9WViilfQ0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O-t6Ggj54B2qkRhh1UMw6ZTd4rSUbduRM9SgZ0Yufq4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ODM1A0-MTQZVePxRPmlxnwYfsALTxYwTwqC6PZEL3Yc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Oiz-vHY3zrmg7XihrDI8C7noKItrw4j-FojzjwLFtTg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OwWFiU8nu0cyFo-qlZVbwtt4aqDFz2YY0vxAx3SdHgo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P4tpW6voOWJN13IMYPV8BBcLb72dRL_oAnqtvMD6noM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PC2ixqxq-lebKpZkX6uvl7j2JbYofNZu3aZu8bJXazA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PbjhPnVxp2FymXtEbSopxzJW24ZBb8v8dfP0GF8cs3w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PhIruj_HREkekapCGv-Ymdy4fnGt_SBsNaJ-wR_Qx54.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QBBPmCl_6JNM_Y5k_ujXJZNA1E589Ur5Luf6AsyQieI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QDAxf5JNyFd7ih2W6fGiB6N8YTs5O9W3U9-lVxNwv1g.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QHCbzhO15ATU0NuZmkLpExRZ2wpi9ztEMRjMoz9V0_A.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QK3bZcd-qzW-01w1uj3PAmvefd5pYkD9vfU59Yf_VmA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qh5AIYThgPQl0gPfMFhAo9KfuSevsNudEJAvyEFt8ew.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/REY5IzKwDFZscj7cqC7HI6VXQ3k7ieBpk9yZf3K69cE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RQCa4tO2WXNmk0f_HEYQxgGScUSVxDx2Dbt0aUobbFA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RnNZ-GVb5UaUqjPyexe8APGVCj11NS3ZlsMLjGIsTak.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Rno-aq0MC3-qdT_XOMgydcIVTn3yRBlaTjLs_Eahw5E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RxCAisceBtWwHnx94h1xl_FRFVjk_ALZHbuC_pMcKY0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Sk0BOffT2A-aKDBwfROvAhqgoNwcMhz-aR-7-xWGCqQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T8xX--TijEeVuS4vsG8a4_VLKUmMPz8gwspwrT39iIY.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TDa2enNs4phk4vgd7U9eQ44EtsH9iQOP4OMXS0_6p6w.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TQdtMRNwWOXYBcACj1cNfCnaWdkOOKwH02sIY6AyI4g.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TgngM2fqhT7BBipJtIQDv9iGcIkIZ9pdhG7IzWNhDdA.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U-txrV0CTBAuDhviFEz3zd3oxqxQaS7mK8W9mp4Mz2w.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U2IPuMvgFxaOgEbp7r-EGN_MX60Z09FG8IDOc33XnI8.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U3zSnR8VhP_2qPfLexPdXVZ4afUNHX5_5vY68omY5wk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UtRWeM1x-3QwudOxpG1qbMG8l_5Y-vvbBOI7VgtDgzk.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V2FIUY59Yxsb0NO5ix_ilKfhKkPE_vWE96YYPukXNTo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VDQBTPkN-ZyEOinFwsghasae4a5wWFKPQqIMit3SNKk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VE6y9lGSVXFe-LzmlSZTLpG1jPuTY2h56WJB_r1w--U.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VPe4_OC_7A1qIRTwC3X1ZYpQa6B9Uuy8HLhWbsFQ3aM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VT-NSsaMUAEM1SI0lxmreA2QbB_T1hAdWEAQX8y06KQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VXh2hNNorD83XwRzrNTliFpnTCfQWx6a9pfpoSNJlyY.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W7cEJ0L-lIA_Iu3G6Rdji3Ua-VTp1kI-Pluh2XsZLCM.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WCl46w9VIXhadqORL1t7hAn4Ec5Gifv-27kzOlVkE-s.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WIMN8AIbUCT--KnKwRLSZru3_NWleSPvgVeknrhhntY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WOikv3V-OnDxVe19Z5QYg928sMi_arKEpDbLF_R-baA.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XBuebWu06BPBrs9UmgEwYyKqfzuuJIdcwY_aFtOthPo.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XVvEqq8PZcKciXp7XXR5yeIJD1nVSWH0ZDXxzoyImIs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y3Oo3YLpvKbuAo9kgfwexh8PshAPo4pRDD1uOfFKwVw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YNxv-6FPDnTHBcleGVvnjo2tt1RbVsFh0flNZc1iUF0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZvQlqydPyQ3NgGJxrmV8ct_VPWQJhZWC0AOWRHFlrQE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_8dVD0cWSRaWZvF1hlj4hnt-5m-ef9B4VR0g601NNSM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_X37QmnQjXiS_ciF3Tv2OPlEYqJ5CONpe1MusaBPlrs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_ud6IsnSMUB7AFlxdL2wfFHt9e27OFaMT8w4Hhi8s3s.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_unkFsywRc1IQUNrgmuli0vO85WUBKIwVdjsgg3CttE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aAS-OSOt39twsAhZ99wbPW-VePQx8y73lyDfzesjyOA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aSpwDIPZvLCzgg6eQ6CBYrPcWfZQj1hExnj2bZuRS7o.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b3ykymahF_f-VnArN5YR4ABhdb1nhYlFC14vUDfQyrA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cPmlWj7lvZ6UJv565rT9Yf4p2itgp68b8AUm5FzTZLA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/caBfnmAR3oO1yjmya7RGKBYDp8FbJ98vbE6oujzfmdo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/crsxC4Ikcv-LjlOk6kbrvpFX_kwS6L_ZuCFfmtcqJ3g.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dam4xeft-4pxJur4mOVZyEr00BbD3P2fZlJJLDBCW4k.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/deW3RdnDWk7eKNfNaPTndnMBS-C5Uejme5QbIwV_DFE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eSSl4nM-pHeKRM49gXvzCz6G_Z3s6sO0NuSasWl_guU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/efpqwE725HhsNQs_pImHXdYWLBRkpKccWFxah3Mgrg8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/exTl_KFHjcHI_yZnLurj8IX2Wf5aU4fF8KuQS_zwRlU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fA2p2ZvO4FoVN_JiRuXgn1QjTTnyXth5bSywCqDC3D4.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fvqqXy74j0pkvDiYupbSywtHJb8Zaj2no2awsxmN080.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gKweYCa8rcDoyO2NEl9sWZQTaBMPxyS0N3GlCKJH-dk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gkZuJaPRfMY67pzHWGAvS8fY3A_8Wy6lHAt8jZjc-RA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gvLDa5XGwSj3L5oZiQ94ZsnwY5CHS8qX2BliHyhUXGo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hPff0eEhvhdthhYgdHy3lzeNZ6cvhDzQo423PYr9pOo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i6wcQuMV92ZYfW22B1MudB23VrRPGzXB_F93-__pDTk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iEkuA2D_doNDfSkOynSJxE4hcKEv4n-ubxiW85zYBkM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/io9mD7x5wFh97DDeLqB6z8G306olUZC0ZQ84iHMZAro.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jPX_s7R9Y9Tx62x3BSdnJgcc2fuTlxZfIsf5VIy56bQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k0Wj-zYEFyY7FYmy76a8cDpFBOZUzOoWtpTt-tpk3cg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k1-xgyd9Qgfi9ud2kiflYrHmX9WeP8hRdLKnL5WRtzc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k1VysugytfQfsmfyfuBdbNu-StUicfHR62A7geolXjo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kUCHSLInGsexuLlZ_wAg4HlaEc0PpVNedulsjuAR9xk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lQq-Tpm4qUuP2cNQrF1kJQlcYyp-4DkSbPyywRjB7EU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lSKeX0hb4g_BdOr5mS-N-GPWK-bOfUDKaUxwWPY4Bnc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l_NttTk8glBXTbELzF22gXG3O2as7dW3WK01jezGSi8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/le3lWrLzZBtpidZgBJKf3dYop_ZfPcqZRVBw8zNID_E.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lmI9T0rmkVx-nfDZzH3otGBc8XDUulhF6_IBVDwLR6s.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lpZxgXXOQ-_cQ5QAkazer4uKIN29hyUzK819qscqy9c.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/meGcwF7aSx0DI6roHb64NuIydoA0sBf1--7fMIvPMIk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mfRvZs-7xZ4l5rmcRPsx_2PrIt8yy8x07EX1svQggmw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ms6DIHGMHdSmp2E3Qag2dM3nEpuraKkYPXOer9VqeiI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nNH1DxPzbNldMpL9AoZLagNwZMzBWDtBijp2oRde3qU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ogryVIUzLqai9RFlk_9f1BHE2jaT5pCkuzPJc6HUi14.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oohjElyBvDP5_IEsAmTkOGRy8zPR8t9y0Mt4Lfz7wCc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p2-oKPIsNm7gfEoPR3fSemp4FHNzmkBlKDKtI-c-RbU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q45JteXUa8iW35xv164yY8EGpnSDDrPoqUTf9ok5SAM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qxVZ61uwoSYgk5oQil9oJsK_mW-4Iu0OyzLaowE9QY4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rEIAYiWN0KehRrvEQ21kF8WGbaXAUfFveeU_-PA_P80.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rokmpmn65Y0E8f0mS7tpUGqZH_-nDqKwXJaJrT2QzXM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rvK0pxfJz2x0qVixalWGBt6eImJsXUWsyUikhjFwKhg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s7fQQ43jB6mjRFIz15dLVI3dEYE5iV_2wC-UKE7Eqbs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sDa1E7GLMXpwYf2zCQHKEtZ1J69eLwo4h3-zjmuK6O0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sZ8K3Y4HlxDnWUkSuBm9Y9-kgjgQ5mhoXULi0qwyppI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sw2BwHXpuM7qfRX9jfeVnZE92JprkTSjQVC2fOVpx6k.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t3BapNcJdpGFBCR0zx51zIOCZxbgUFoPVSyOLEvzKF8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/taFCQLLdXXCgg5G2PJmmJw7WAy_kOhjGK7xdFqDe4RU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ttACw2Hkiu3aMFohPEpPkoV3CC-NCHbL_9r9IgM9J6w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/unaOvA_qtYauqiV5Bz8XK5Rq37dpo4i60tq1Yrw25YA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vBU_oQb5K0cQryFOvHBC4U1ktEYub1O9QU6Ch6NnbL0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vEdmkyFUgEwIqJIci63zqfK3YYu_WUeZMJ7g69NUZvI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wED6wq_166nc6Y6_JqRlmSW-u8U6OvHA9JOi0cjtAVk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xJxbntYgnCUF_3FJ6ax-Md8iE3aMxqFpUqxSKjKTFzc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xm4ynjEHIwAlkT7UWVtq5abB7ymHiphYNIwSFCuNA-0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y6y7_CdSNWHZxnMgfTQXFRfIBVBHsnRwQKYbyytK4eA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yQsm0KL_rBq3n-Zpk60cYbU-qKLDl_4VxoBLJEw9JP4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yUZ4CZcVHpXC6prvIuccXFjhVLQnNeAge7fwOyVHkiA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yscXmDNt87n8gaZAGLo4Eggj3ta6wm-d9CGzb8Coj4c.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yvg4LuqachT4wmGP6bfmq070O1S-5_jKMGPQ5YcWBbI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z18bIGxlzN8ON488PL1F3wh_NWsD4egV63lcn_YzZDI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zMheImdnv7QXtIkUnaLRmGRbBT2xLdUXqdkIY7Yovzg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zc02B6j1sJ4uh9IrrDXOJM1tqG243hIUwDGp9Ejketw.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-SrnqbERIC3yCdUkYkP-rPk7YYSdasLVe5vPA-vjtg0.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0-wSSu36D6YrVvOEj8KTvT9NZVstyzMsss71WxcWE60.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/15KZXWmY-aFT8cfE5uPBBSNKqH13bGGNJNXxDE0V-WA.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/19SfRzGsjgrb5Xcr8FDkrPLF9E73cgBrQ-_dgZx6fLQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2HeIUhXyK0DMffcAADE4tUx4tIptmnFpNf-xPnhUTsA.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2Wv7aG9_L8ihkDwzJutxgUNL1oQbvEm9vFNZCqf0o0Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2eCAcwlE8cvpvDwGOR0y3RdwFxG-Uo9FPJ-XveNx9O0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4Ba7mPK3joTmHTnH7ZwaxeAwKpG_ahrqJEycH0L3dKU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4E9yI-01GR8FocF_RPq7jPb_r6v5OJzBIQ6ndSZY6Ac.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5MYrDqzNBlq_JRGZzXuyY00F2Wc43q7gIMDTx6bttz4.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5eqR7HQXbdX7FZOCiKXGizHkkiUThEXNzi-mss2oyU8.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5rCRVAkiUUcxvARZIYiC73ML6sRwDjoJUN7qrt5mEf0.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/7X9WxqLdRdr5WA434P8ZsB-6b5uRrFpb3yzvnKhVObM.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/89kpDv8soAyWeuOO2i-QTOu2O530SFQepqyPkngtTuY.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8cpYQaSX4IrLGgqAE90uP3m7DwF4ttXHLvXh1b1TflA.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9RauYKcVeOYCaLLYxxQrIHbZmlOdarost3wpQjnHtvI.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9g6uuOnPA6ZFbDsmFpjGovay8vCHBnegImxETwz9YrQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A41MT8xWUFUMbKAP5IBvFZPFxSOy1FSR52U0Ktn9iEk.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A_Mgj2T1HUV28jFN8rT-rLYGJ13jDCyg0svfAlyKEL4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BAR5AVm4w0xcnQnlvdPY4i69kq_v6TMQNdSFbHVO7XA.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BrQRHDuvOBGooyPjkGrxctLYGOrn4uT7PhMJButdA8Y.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/C0ko33oWWmWdbhO1CNTtbwZOPFCKmKzFjbGdDkiv4FU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CkaXMc3KAzjZwVE5P18M2IZuY0mr-S9xOy_JLF1O34A.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CvFDw1yH4H0djF_P-YoONcq5hRuAzx9pt3EoTs8TPSc.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DtMSdtj9n2ytUFD3eJvg8HlYO7qtOAS6W8z3GofBjd4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ExLV9IbvCa6biJfZc9kz8aUGf1omcv9BT-Iv6ENlEGY.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ExxhUhA_vbDgLz2_zm67qEg9MVnXrMK5lHlXNcosJSE.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Fzye4VhJ6oTXduFYFOZxRMjeUwRT6k3ITuqdgnUlK_s.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Hm48qbwMCX51daTUhsKKI2IcZkyUDS_5Pmns086ZT1Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/IlEZID7P7ZVuy7SK_GL5_Vy8EjZsJ7t74fPKxJuDutE.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JCbwFtZjWws4K6hFGdKhaCexIEvC_lrd39Z5meCKA_4.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KFlrgefvmmJ6s-sUxrVgQBpf26Zlwj2ZogFfmnNgRwI.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KZGKo3_Ux0XnCZFDkMycBhf6j-wzqvH0Ys9XGOs9Qjc.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Kfo91zwBZGXKtgASjSHe5avxDfcqZLqIfHlO72uPr3w.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LnUMPDCEx2BPZ8zzIkuHYj9iMha9lAhsPqhj_kv_jf8.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/M1PC1qa68zhJ1Q7pqHL3-yTu0gMQPirKybzrY2UBVr0.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/M7Xa9LBFtGAlgUb6Q8mPF2LPXAd--dGDvGVQA6LOL6k.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/MRYSMH-zr35cGm9bC22ILGGASlskif4O8H4Gz_5lyzE.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Mw2RiLPFUHhY-c2C5q8Qj9TFJkzaxYpJyyvMrLWi3mo.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NauBwmu3NDN391OwfpI6htxUdkYQTsl8jYfiFEzNtgs.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NlIm1jpBl1-zaQ8sM07bAjuXYLGZ2S4fvhBjV-XXkz8.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ODM1A0-MTQZVePxRPmlxnwYfsALTxYwTwqC6PZEL3Yc.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Q-6S0HsMGmjZNY5_x9vDBghdsqjDW3aGZYaiBW5m4Bs.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QBBPmCl_6JNM_Y5k_ujXJZNA1E589Ur5Luf6AsyQieI.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QHCbzhO15ATU0NuZmkLpExRZ2wpi9ztEMRjMoz9V0_A.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QK3bZcd-qzW-01w1uj3PAmvefd5pYkD9vfU59Yf_VmA.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R1scqanKcVlkycl6Ouf-cwXlvjbLhRhGPWjUnMa-vp8.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R5KbPrgxlHuiTZST-jImOtLLQ8gbmpwq0zyoWDcTS6Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R94VaxbcphivWsNPXAgGs5TU8bWoqQbMII8hrluLWms.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VE6y9lGSVXFe-LzmlSZTLpG1jPuTY2h56WJB_r1w--U.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VT-NSsaMUAEM1SI0lxmreA2QbB_T1hAdWEAQX8y06KQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VXh2hNNorD83XwRzrNTliFpnTCfQWx6a9pfpoSNJlyY.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VsTsAUxhiLZLSntLPFPbDvJdIYb8o-dPZqhkr99XSYk.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W7cEJ0L-lIA_Iu3G6Rdji3Ua-VTp1kI-Pluh2XsZLCM.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XGaYTcjNgGZSAJGgrLPQyRdz3qdvyNEF_8HfEAwmzPE.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XVvEqq8PZcKciXp7XXR5yeIJD1nVSWH0ZDXxzoyImIs.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YU9fg437IkM6XV3YEBoys93u9NOibdIVqrrUaacwyw4.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_unkFsywRc1IQUNrgmuli0vO85WUBKIwVdjsgg3CttE.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/arfkUa3-jw-eyzFARfHPs1UYXp9wmKNBkpRjv37CRCk.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cJZIaZpFuXo9qi32ptFX8Ss5L5z2Axl5le0zXSuI7mk.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/deW3RdnDWk7eKNfNaPTndnMBS-C5Uejme5QbIwV_DFE.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eKzSAPFYMTJJtBbGDkJei1j7L5vNaiON8INcPFVdtgs.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eYJHHT__uUteoXFycfhwbI379K3REk9_GIgo6d02V3s.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eZtGavcNvUqfmdk2R0dC7AU3Vc1tGebNxzUAKBxwlHI.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fA2p2ZvO4FoVN_JiRuXgn1QjTTnyXth5bSywCqDC3D4.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/h6F9AxKDVkyCZGxugKy7naZ0mSN4zCKqZGyhYvkqvQU.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hPff0eEhvhdthhYgdHy3lzeNZ6cvhDzQo423PYr9pOo.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hWCg1mj3atfnDkt5IvVEvThxTFWzFGtCQ_-Li5lRa2o.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/haN4fq20PpOYrqUohWsod0JUPP6Os71uWf5YvzgFuGk.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hn-w50jMEFbicW2Dp1j8GpI5KROTaVD3-Gk5RO7RQ5U.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jPX_s7R9Y9Tx62x3BSdnJgcc2fuTlxZfIsf5VIy56bQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jjHhKuJevYo-yUT02KoCUaJxJXjLUGTVmTsQcCu-tnY.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kDg9RVyEG2VdVnmrBA-4FBymSjozt3wmfJHEY9CtNuE.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lmI9T0rmkVx-nfDZzH3otGBc8XDUulhF6_IBVDwLR6s.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mfRvZs-7xZ4l5rmcRPsx_2PrIt8yy8x07EX1svQggmw.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/miVimTZst4AsQUnGPqQ4U_HhGQ3neDeqOc8mTlPMOSo.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nG4rxs0eE1H1baY8Du2oF_6fHSdSkIA8WGbIMWMItEU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nY_Jhgy8H2zwL-Lxrq3qvmsk0YxD4lcT4hpAgokGk7M.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nnOpP4k0oge6JPLffQyVmZo96WTW7hvAHXBKJSY3KNs.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/o5ED8HllG3WPFxZ6UstTTnbEYPEvLp1jSyLgvv-tX2A.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oDOPnEj390MR1YfEG5hRpFKsbG0q4pZw9UxFrWbtJC0.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/onaBeYoPVo3S1NObk2-D9McYV83G--hm2Z84ffBGsAk.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qahjSYirnViO_FGaTIlSRf68AaJ5EKPiicR8jqOsTnA.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qukp9m9UACC7bt1fblHjnUVzjRuEC5s5lME7DL7haus.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rokmpmn65Y0E8f0mS7tpUGqZH_-nDqKwXJaJrT2QzXM.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sDa1E7GLMXpwYf2zCQHKEtZ1J69eLwo4h3-zjmuK6O0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sZ8K3Y4HlxDnWUkSuBm9Y9-kgjgQ5mhoXULi0qwyppI.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sn1vZfiFbyTKg-DbUM9t6sLWO49lvFCZwPzvxm8St_A.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/t3BapNcJdpGFBCR0zx51zIOCZxbgUFoPVSyOLEvzKF8.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ufxRCcZC9kt2qFaJ8uLYuvX1jgB7y-YDJPTvHNGuwm4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/us2Iwpcxj7LfGKRzLKyxfupmLdKUWAG1mcl9Ulwm7A8.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/v7lRu7Js_JTOZwjKgRbeBiSu34ulax99MVSrCA6SOHU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vYnhEbN8-BdUD2XzMVhMqScK6TVOwS4eT0kghnhH_ZQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vrIw1vVDqnPzKkn-IXRGcJN8dvx6T5-9E1C10JUEH2k.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wEcmLRb1qcqdz7D6e56ZiMOLC0X-ggwLg7fl9mnETuc.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wSzzwAXupe0710Y82LeeVjn_1YUz8F000DY4S3CmJJ4.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x2yFC1uGoElRMUUlSOTjQMwSl8GLJlTh0wcG46KzQe0.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x4rxavGlxT8kesLmEtzUCiDIMvukTK9J1e-ZBO-nqUI.cache +2 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xdiJDFIdWaEcnza9i90UZEeHDeQiz7ywIUtqgmZNtI4.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yAAuhzCCQwkAAR3dnO84iMkr-0se8_Afon-ii9rMuVo.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yB7SzMJ_6r-Nl4tA0jmdlA_uD6xoDb64BJ90T-WdvOY.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yEsz8DwMrWdZDKbJlq_O2KhEy2ZQ2cIvCx_gJiCk19E.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yfGyup3QG8xweHxeY1UPc2tpAW3R1aPfVaOCN9qukvI.cache +1 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yhAoTeN7DlVlFdOvIrxUuYqaIBMGctZfcKloHqiYm04.cache +1 -0
- data/test/fixtures/help_engine/help_pages.yml +20 -0
- data/test/fixtures/users.yml +5 -0
- data/test/help_engine_test.rb +7 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/models/help_engine/help_page_test.rb +21 -0
- data/test/test_helper.rb +33 -0
- metadata +852 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
ZDk2OTg5NWE0YTJlYWVjMTkzZGZhYzMzNGU5OTNmMTQ3MzlmMTRmZQ==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
N2JhYzZlMWI0MTMxMDAzYmMxYTE1NzFjM2Q4YmQ4NzVkN2NiOTAxNA==
|
|
7
|
+
SHA512:
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
Y2E2YjcyYjU3MTA0MjhlYjMzMWIzOThkMjkwN2NhMDM1NzMxYTk4N2JkYWQ3
|
|
10
|
+
NmUzMjBiNjE3YzkwYjU5MDNhOWMwNGFjZTk2OTZiYjA2MTc0MGI5NTRiMzUx
|
|
11
|
+
Y2UyZTA1YWJjMzFmMzFkNGI1OGEzMzczZjJiZmM1M2E4NDkyMzk=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
ZDFmYzUxNjJjY2EwYThjNGFkODEzMDc5M2FiZDA0YTgyZTQ0Yjc5ZDUwNTJi
|
|
14
|
+
MmYyYjg4Zjk0NzI4OTQxNjQ3OGFjMTI5ZTY2NThjMGU4MzA3MmYwYWY5M2Ez
|
|
15
|
+
MGNkMTFkYzEzZWYwMDhkNTJmMDdkYzY3MzdjZjJkZDJhZGIwMTk=
|
data/MIT-LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright 2015 Rob Nichols and Warwickshire Count Council
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
= Help Engine
|
|
2
|
+
|
|
3
|
+
A basic system to add help pages to a Rails application.
|
|
4
|
+
|
|
5
|
+
I often find myself tacking a simple help system on to rails apps. They
|
|
6
|
+
are usually very simple, and allow users to add and modify the content. As
|
|
7
|
+
I do it so often, I thought I'd bundle it all into a gem so that I can make
|
|
8
|
+
the process even simpler.
|
|
9
|
+
|
|
10
|
+
== Installation
|
|
11
|
+
|
|
12
|
+
First add the gem to the host app's Gemfile:
|
|
13
|
+
|
|
14
|
+
gem 'help_engine'
|
|
15
|
+
|
|
16
|
+
Then mount the engine via config/routes.rb:
|
|
17
|
+
|
|
18
|
+
mount HelpEngine::Engine => "help"
|
|
19
|
+
|
|
20
|
+
== Usage
|
|
21
|
+
|
|
22
|
+
Each help page has a unique slug that is used to generate unique meaningful
|
|
23
|
+
urls. So if a help page is named "Foo Bar", it will have a slug 'foo-bar' and
|
|
24
|
+
the page's url will be help/pages/foo-bar.
|
|
25
|
+
|
|
26
|
+
To add a link to a particular help page, use the slug to identify the page:
|
|
27
|
+
|
|
28
|
+
<%= link_to 'help on Foo Bar', help_engine.help_page_path('foo-bar') %>
|
|
29
|
+
|
|
30
|
+
To add a link to the help index:
|
|
31
|
+
|
|
32
|
+
<%= link_to 'Help', help_engine.root_path %>
|
|
33
|
+
|
|
34
|
+
On this page links are provided to each of the existing help pages, and there
|
|
35
|
+
is also a link to create a new help page. See the Overriding Help Engine
|
|
36
|
+
behaviour section below regarding added access control to help pages.
|
|
37
|
+
|
|
38
|
+
== Content
|
|
39
|
+
|
|
40
|
+
Markdown is used to define the content of help pages. The mark down used is
|
|
41
|
+
as defined here:
|
|
42
|
+
|
|
43
|
+
http://daringfireball.net/projects/markdown/basics
|
|
44
|
+
|
|
45
|
+
Markdown is used as it's easy to create well styled content without having to
|
|
46
|
+
sanitise users' input.
|
|
47
|
+
|
|
48
|
+
== Dummy app
|
|
49
|
+
|
|
50
|
+
A dummy app is provided as part of this engine (test/dummy). This provides
|
|
51
|
+
an example of how the engine can be used.
|
|
52
|
+
|
|
53
|
+
== Author
|
|
54
|
+
|
|
55
|
+
Each help_page has an author polymorphic relationship. So an user can be
|
|
56
|
+
associated to a help_page with:
|
|
57
|
+
|
|
58
|
+
help_page.author = user
|
|
59
|
+
|
|
60
|
+
A has_many method can be added to an author class such as User, like this:
|
|
61
|
+
|
|
62
|
+
class User < ActiveRecord::Base
|
|
63
|
+
|
|
64
|
+
has_many :help_pages, as: :author, class_name: 'HelpEngine::HelpPage'
|
|
65
|
+
|
|
66
|
+
...
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
To store an author's identity on help page creation, the help pages controller
|
|
70
|
+
will need to be overwritten.
|
|
71
|
+
|
|
72
|
+
== Overriding Help Engine behaviour
|
|
73
|
+
|
|
74
|
+
=== Overriding controllers
|
|
75
|
+
As with most rails engines, you can override the Help Engine behaviour by adding
|
|
76
|
+
matching objects in the host app. So for example, if you want to override how
|
|
77
|
+
the HelpEngine::HelpPagesController behaves (to add access control for example),
|
|
78
|
+
add your own controller code at the host app's:
|
|
79
|
+
|
|
80
|
+
app/controllers/help_engine/help_pages_controller.rb
|
|
81
|
+
|
|
82
|
+
For example, if Devise is installed, you may do something like this (at
|
|
83
|
+
app/controllers/help_engine/help_pages_controller):
|
|
84
|
+
|
|
85
|
+
class HelpEngine::HelpPagesController < ApplicationController
|
|
86
|
+
|
|
87
|
+
before_action :authenticate_user!, except: [:index, :show]
|
|
88
|
+
|
|
89
|
+
def create
|
|
90
|
+
@help_page = HelpPage.new(help_page_params)
|
|
91
|
+
@help_page.author = current_user
|
|
92
|
+
|
|
93
|
+
if @help_page.save
|
|
94
|
+
redirect_to @help_page, notice: 'Help page was successfully created.'
|
|
95
|
+
else
|
|
96
|
+
render :new
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
=== Overriding views
|
|
103
|
+
HelpEngine views can be overridden in the same way. For example, in the dummy
|
|
104
|
+
app the help_engine layout has been overridden so that bootstrap styling can be
|
|
105
|
+
applied to the help pages. see:
|
|
106
|
+
|
|
107
|
+
test/dummy/app/views/layouts/help_engine/application.html.erb
|
|
108
|
+
|
|
109
|
+
This change has also modified where the CSS for these pages reside. For example,
|
|
110
|
+
the textarea styling for the help_page content in the dummy app is defined at:
|
|
111
|
+
|
|
112
|
+
test/dummy/assets/stylesheets/help_pages.css
|
|
113
|
+
|
|
114
|
+
== Deletion and JavaScript
|
|
115
|
+
|
|
116
|
+
For the help page delete button to work, the JavaScript environment must be
|
|
117
|
+
correctly set up in the host application. In the dummy app this is done by
|
|
118
|
+
using the 'jquery-rails' gem and enabling jquery in the asset pipeline by
|
|
119
|
+
adding these two lines to app/asserts/javascripts/application.js :
|
|
120
|
+
|
|
121
|
+
//= require jquery
|
|
122
|
+
//= require jquery_ujs
|
|
123
|
+
|
|
124
|
+
This could be fixed by setting up jquery in the engine, but having had
|
|
125
|
+
problems in the past with rails engines' jquery configuration clashing
|
|
126
|
+
with the host app's jquery configuration, I don't think this is best
|
|
127
|
+
practice. For those interested:
|
|
128
|
+
|
|
129
|
+
http://stackoverflow.com/questions/8788304/activeadmin-stops-my-jquery-working
|
data/Rakefile
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require 'rdoc/task'
|
|
8
|
+
|
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
11
|
+
rdoc.title = 'HelpEngine'
|
|
12
|
+
rdoc.options << '--line-numbers'
|
|
13
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
|
18
|
+
load 'rails/tasks/engine.rake'
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
load 'rails/tasks/statistics.rake'
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
Bundler::GemHelper.install_tasks
|
|
26
|
+
|
|
27
|
+
require 'rake/testtask'
|
|
28
|
+
|
|
29
|
+
Rake::TestTask.new(:test) do |t|
|
|
30
|
+
t.libs << 'lib'
|
|
31
|
+
t.libs << 'test'
|
|
32
|
+
t.pattern = 'test/**/*_test.rb'
|
|
33
|
+
t.verbose = false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
task default: :test
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// compiled file.
|
|
9
|
+
//
|
|
10
|
+
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
|
11
|
+
// about supported directives.
|
|
12
|
+
//
|
|
13
|
+
//= require_tree .
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any styles
|
|
10
|
+
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
|
11
|
+
* file per style scope.
|
|
12
|
+
*
|
|
13
|
+
*= require_tree .
|
|
14
|
+
*= require_self
|
|
15
|
+
*/
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_dependency "help_engine/application_controller"
|
|
2
|
+
|
|
3
|
+
module HelpEngine
|
|
4
|
+
class HelpPagesController < ApplicationController
|
|
5
|
+
before_action :set_help_page, only: [:show, :edit, :update, :destroy]
|
|
6
|
+
|
|
7
|
+
# GET /help_pages
|
|
8
|
+
def index
|
|
9
|
+
@help_pages = HelpPage.all
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /help_pages/1
|
|
13
|
+
def show
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# GET /help_pages/new
|
|
17
|
+
def new
|
|
18
|
+
@help_page = HelpPage.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# GET /help_pages/1/edit
|
|
22
|
+
def edit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# POST /help_pages
|
|
26
|
+
def create
|
|
27
|
+
@help_page = HelpPage.new(help_page_params)
|
|
28
|
+
|
|
29
|
+
if @help_page.save
|
|
30
|
+
redirect_to @help_page, notice: 'Help page was successfully created.'
|
|
31
|
+
else
|
|
32
|
+
render :new
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# PATCH/PUT /help_pages/1
|
|
37
|
+
def update
|
|
38
|
+
if @help_page.update(help_page_params)
|
|
39
|
+
redirect_to @help_page, notice: 'Help page was successfully updated.'
|
|
40
|
+
else
|
|
41
|
+
render :edit
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# DELETE /help_pages/1
|
|
46
|
+
def destroy
|
|
47
|
+
@help_page.destroy
|
|
48
|
+
redirect_to help_pages_url, notice: 'Help page was successfully destroyed.'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
53
|
+
def set_help_page
|
|
54
|
+
@help_page = HelpPage.friendly.find(params[:id])
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
|
58
|
+
def help_page_params
|
|
59
|
+
params.require(:help_page).permit(:name, :slug, :content)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'github/markdown'
|
|
2
|
+
require 'friendly_id'
|
|
3
|
+
module HelpEngine
|
|
4
|
+
class HelpPage < ActiveRecord::Base
|
|
5
|
+
|
|
6
|
+
extend FriendlyId
|
|
7
|
+
friendly_id :name, use: :slugged
|
|
8
|
+
|
|
9
|
+
belongs_to :author, polymorphic: true
|
|
10
|
+
|
|
11
|
+
validates :name, :content, presence: true
|
|
12
|
+
|
|
13
|
+
def to_html
|
|
14
|
+
markdown.render content
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.markdown_parser
|
|
18
|
+
@markdown_parser ||= GitHub::Markdown
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def markdown
|
|
22
|
+
self.class.markdown_parser
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<%= form_for(@help_page) do |f| %>
|
|
2
|
+
<% if @help_page.errors.any? %>
|
|
3
|
+
<div id="error_explanation">
|
|
4
|
+
<h2><%= pluralize(@help_page.errors.count, "error") %> prohibited this help_page from being saved:</h2>
|
|
5
|
+
|
|
6
|
+
<ul>
|
|
7
|
+
<% @help_page.errors.full_messages.each do |message| %>
|
|
8
|
+
<li><%= message %></li>
|
|
9
|
+
<% end %>
|
|
10
|
+
</ul>
|
|
11
|
+
</div>
|
|
12
|
+
<% end %>
|
|
13
|
+
|
|
14
|
+
<div class="field">
|
|
15
|
+
<%= f.label :name %><br>
|
|
16
|
+
<%= f.text_field :name %>
|
|
17
|
+
</div>
|
|
18
|
+
<p>
|
|
19
|
+
The name is used to describe the page in the help page index, and to generate
|
|
20
|
+
the string used to give the page an unique url (the "slug").
|
|
21
|
+
<% if @help_page.persisted? %>
|
|
22
|
+
The slug for this page is <em><%= @help_page.slug %></em>.
|
|
23
|
+
<% else %>
|
|
24
|
+
That is, creating a page named "Foo bar" will create the slug "foo-bar" and
|
|
25
|
+
the url for the help page will end: /foo-bar.
|
|
26
|
+
<% end %>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<div class="field">
|
|
30
|
+
<%= f.label :content %><br>
|
|
31
|
+
<%= f.text_area :content %>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<p>
|
|
35
|
+
Content should be entered using Markdown. The Markdown syntax is described
|
|
36
|
+
<%= link_to 'here', 'http://daringfireball.net/projects/markdown/basics', target: '_blank' %>.
|
|
37
|
+
This content will form the main output when displaying the help page.
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
<div class="actions">
|
|
41
|
+
<%= f.submit class: 'btn btn-warning' %>
|
|
42
|
+
</div>
|
|
43
|
+
<% end %>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<h1>Help Pages</h1>
|
|
2
|
+
|
|
3
|
+
<%= link_to 'New Help page', new_help_page_path, class: 'btn btn-primary' %>
|
|
4
|
+
|
|
5
|
+
<section class="help_pages">
|
|
6
|
+
<% if @help_pages.present? %>
|
|
7
|
+
|
|
8
|
+
<ul>
|
|
9
|
+
<% @help_pages.each do |help_page| %>
|
|
10
|
+
<li><%= link_to help_page.name, help_page %></li>
|
|
11
|
+
<% end %>
|
|
12
|
+
</tbody>
|
|
13
|
+
</table>
|
|
14
|
+
|
|
15
|
+
<% else %>
|
|
16
|
+
|
|
17
|
+
<h2>No help pages</h2>
|
|
18
|
+
<p>The first help page is yet to be added</p>
|
|
19
|
+
|
|
20
|
+
<% end %>
|
|
21
|
+
</section>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<article class="help_page">
|
|
2
|
+
|
|
3
|
+
<div class="content">
|
|
4
|
+
<%= @help_page.to_html.html_safe %>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<%= link_to 'List', help_pages_path, class: 'btn btn-primary' %>
|
|
8
|
+
<%= link_to 'Edit', edit_help_page_path(@help_page), class: 'btn btn-warning' %>
|
|
9
|
+
<%= link_to(
|
|
10
|
+
'Delete',
|
|
11
|
+
@help_page,
|
|
12
|
+
method: :delete, data: { confirm: 'Are you sure?' },
|
|
13
|
+
class: 'btn btn-danger'
|
|
14
|
+
)
|
|
15
|
+
%>
|
|
16
|
+
</article>
|