help_engine 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +129 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/help_engine/application.js +13 -0
  6. data/app/assets/javascripts/help_engine/help_pages.js +2 -0
  7. data/app/assets/stylesheets/help_engine/application.css +15 -0
  8. data/app/assets/stylesheets/help_engine/help_pages.css +4 -0
  9. data/app/controllers/help_engine/application_controller.rb +4 -0
  10. data/app/controllers/help_engine/help_pages_controller.rb +62 -0
  11. data/app/helpers/help_engine/application_helper.rb +4 -0
  12. data/app/helpers/help_engine/help_pages_helper.rb +4 -0
  13. data/app/models/help_engine/help_page.rb +26 -0
  14. data/app/views/help_engine/help_pages/_form.html.erb +43 -0
  15. data/app/views/help_engine/help_pages/edit.html.erb +8 -0
  16. data/app/views/help_engine/help_pages/index.html.erb +21 -0
  17. data/app/views/help_engine/help_pages/new.html.erb +7 -0
  18. data/app/views/help_engine/help_pages/show.html.erb +16 -0
  19. data/app/views/layouts/help_engine/application.html.erb +14 -0
  20. data/config/routes.rb +6 -0
  21. data/db/migrate/20150728142457_create_help_engine_help_pages.rb +11 -0
  22. data/db/migrate/20150729102332_add_author_to_help_pages.rb +6 -0
  23. data/lib/help_engine.rb +4 -0
  24. data/lib/help_engine/engine.rb +6 -0
  25. data/lib/help_engine/version.rb +9 -0
  26. data/lib/tasks/help_engine_tasks.rake +4 -0
  27. data/test/controllers/help_engine/help_pages_controller_test.rb +51 -0
  28. data/test/dummy/README.rdoc +28 -0
  29. data/test/dummy/Rakefile +6 -0
  30. data/test/dummy/app/assets/javascripts/application.js +15 -0
  31. data/test/dummy/app/assets/javascripts/home.js +2 -0
  32. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  33. data/test/dummy/app/assets/stylesheets/help_pages.css +20 -0
  34. data/test/dummy/app/assets/stylesheets/home.css +4 -0
  35. data/test/dummy/app/controllers/application_controller.rb +5 -0
  36. data/test/dummy/app/controllers/home_controller.rb +4 -0
  37. data/test/dummy/app/helpers/application_helper.rb +2 -0
  38. data/test/dummy/app/helpers/home_helper.rb +2 -0
  39. data/test/dummy/app/models/user.rb +5 -0
  40. data/test/dummy/app/views/home/index.html.erb +12 -0
  41. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  42. data/test/dummy/app/views/layouts/help_engine/application.html.erb +18 -0
  43. data/test/dummy/bin/bundle +3 -0
  44. data/test/dummy/bin/rails +4 -0
  45. data/test/dummy/bin/rake +4 -0
  46. data/test/dummy/bin/setup +29 -0
  47. data/test/dummy/config.ru +4 -0
  48. data/test/dummy/config/application.rb +26 -0
  49. data/test/dummy/config/boot.rb +5 -0
  50. data/test/dummy/config/database.yml +25 -0
  51. data/test/dummy/config/environment.rb +5 -0
  52. data/test/dummy/config/environments/development.rb +41 -0
  53. data/test/dummy/config/environments/production.rb +79 -0
  54. data/test/dummy/config/environments/test.rb +42 -0
  55. data/test/dummy/config/initializers/assets.rb +11 -0
  56. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  57. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  58. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  59. data/test/dummy/config/initializers/inflections.rb +16 -0
  60. data/test/dummy/config/initializers/mime_types.rb +4 -0
  61. data/test/dummy/config/initializers/session_store.rb +3 -0
  62. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  63. data/test/dummy/config/locales/en.yml +23 -0
  64. data/test/dummy/config/routes.rb +7 -0
  65. data/test/dummy/config/secrets.yml +22 -0
  66. data/test/dummy/db/development.sqlite3 +0 -0
  67. data/test/dummy/db/migrate/20150729103806_create_users.rb +9 -0
  68. data/test/dummy/db/schema.rb +35 -0
  69. data/test/dummy/db/test.sqlite3 +0 -0
  70. data/test/dummy/log/development.log +2577 -0
  71. data/test/dummy/log/test.log +4807 -0
  72. data/test/dummy/public/404.html +67 -0
  73. data/test/dummy/public/422.html +67 -0
  74. data/test/dummy/public/500.html +66 -0
  75. data/test/dummy/public/favicon.ico +0 -0
  76. data/test/dummy/test/controllers/home_controller_test.rb +9 -0
  77. data/test/dummy/test/models/user_test.rb +9 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-Nb4-glReZdOKM_Esl7KrX92gAxxwYEv8r--wpZ2AnA.cache +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-RR_kQxJmSk1g8TuaR2k4oANAObXi9ihZHDzUmFOX9Q.cache +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-SrnqbERIC3yCdUkYkP-rPk7YYSdasLVe5vPA-vjtg0.cache +1 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-k8puMC5Eqq6HNuUcyMyC9b78TTRu36rmHqsWorU0Rg.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-pRet6NBrdPzO2QxMHMOcMoELMzGgToR9sQNAmznfB4.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0-wSSu36D6YrVvOEj8KTvT9NZVstyzMsss71WxcWE60.cache +2 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0bBd9lLlffpC5NrKPStP2gtkZFCZeDyYK_870IBS5SM.cache +1 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/10wTpXRpIK4-8G3BjoDc0_xGhrrRPOHP0-o9bRTX6p4.cache +1 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1_xxc9tRuRrqPRzlqPnAoeQ5-8rHxUmAoMmAEeQiIpo.cache +1 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1nDlh0ykt8Un7ek3I2DnMcQQhsWf60Qcl8ow8vHoEHw.cache +1 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2BtI15iY6obksxZAGwKu_op6HNJtOhFF2aZvua1k9Cg.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2djTcaWqFaQvR0HOvOw9uoO7_DFJJpA_FnuDOdOimmE.cache +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3TfD7ggCUdf1U6vk_vfAMl4rhie387905faEZ-rhzxk.cache +1 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3TxoC4FlqW4lpUG06QUzYHcwAOwojOnV4ogODWK87KY.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4BsnUTinY20xJE6EFwVUWY5D3idM3ZN3zhvMUwLTmzw.cache +2 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4MEISqDP9AuOkU4GwbUg6iyvTE8ygI74ogDCjkGoR8w.cache +1 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4ZwzEDZKiwYjFWukk0vJIHEbxea9ighL5FM8Rtg6oLc.cache +1 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5-X-YnySPf01eBTwek6E3a7QtAmUsMIm8aTSRyhYlYM.cache +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5MYrDqzNBlq_JRGZzXuyY00F2Wc43q7gIMDTx6bttz4.cache +2 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5MuSqebc80HX46DcID0bPxVZZ42bwO4v4WfhuNh255U.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6Qyv1ZFaOcMRDd8UXRKi1x9_0Bu5ChywyzqekVjU8Wg.cache +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6ebKLq_GMaP1oFAYPCwdeADib3Uw9-nGNqxEpdCeBIU.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7ezy78ekarp49sWLRBkvH9uT4JPg_-CtTwYoWI8w7GI.cache +2 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/85aWm6sGrUUerMv2-j2cG91tNv3c9wsC76lcdF-syYI.cache +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8j4_9U3kUmOrYQ7Tx4MFN2kQwmFaOcGuH5axXdNN1Rw.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9331DNeUloM2h0916fHV3fO2Ifqk-X7g0XUckf0SPIc.cache +1 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9H4RyRYnQcPWacSEHsYjkhaE_mkO0HnegiC1CxLtt_A.cache +1 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9MMsnVuoBXcTv6IQiV-mPN9uamLm08vRYlJaxhYvqTU.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9RauYKcVeOYCaLLYxxQrIHbZmlOdarost3wpQjnHtvI.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9pfGliw2FZwEqbhVshzHoNhTfQ2hEIOCuABOjgmk8gg.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A1Bb1d6kchtoem2iyBnxBRo2uSaZH41uPTk0cWoO4us.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A41MT8xWUFUMbKAP5IBvFZPFxSOy1FSR52U0Ktn9iEk.cache +2 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AEYT92WiWCWnqMEKRJPXHrEC7l3FxAqj4dFeiUefPsU.cache +1 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BAR5AVm4w0xcnQnlvdPY4i69kq_v6TMQNdSFbHVO7XA.cache +2 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Bp0DK6a8wU14_66pgM08FDTiEd6sb7ok66GKNK060Jo.cache +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CBKqi865QK6HEAe65svLVGpw8xmoNy_2JRbquR0hcJI.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CvFDw1yH4H0djF_P-YoONcq5hRuAzx9pt3EoTs8TPSc.cache +0 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CycC8E9Nl8m3jFr_n0WQsIKUpcD1x9DyIJZR9YZxqZo.cache +2 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DGLzz83PV8JVIe-BNCaxduT-qYwbcY2ew6taWisVmyA.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DZsqP2fG66FVJ9wACqzE6GRdEIWFU4cU4wUqxCU1zYo.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DtMSdtj9n2ytUFD3eJvg8HlYO7qtOAS6W8z3GofBjd4.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DvUSkkPQMvL1zbjDlHbdiM8hyjNarRqgPeaxOKQ-HLU.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/E4ps_R4XOwRWjpyl2V3QgwJ-aMh9ZSE1mPOwhTcG5zc.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EeS3BFGFUeQO5qckSqB1dHwRwKJEdjZdJdO7dkhJbys.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ExxhUhA_vbDgLz2_zm67qEg9MVnXrMK5lHlXNcosJSE.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FENM70mwHD12tlpTOl-rJOMGVx0RIRGKJ43eoHpJKgo.cache +1 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FMmFnmqmpxwGkxKK2lZ1my5bm3fG-YcaE3WFsCT2-zU.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Fzye4VhJ6oTXduFYFOZxRMjeUwRT6k3ITuqdgnUlK_s.cache +0 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GgRnRvCy7r7DbhcdWa4Vgbwm6NO0TH6h7SWBAajGGuM.cache +1 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GwFMPQD-mpnVD8XDSKLYxiH9FkFTkU-Vq3g_HDL3TlY.cache +2 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HD4BLfAwO5nwHYONRfQ9g6BHotw8zrMBmejMD7LM6CA.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HF7sO3rKF1kYr62za8FhiMHUy5xn-NVWZZ9Yc3PhJUY.cache +1 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I9qCp4PmRBzDH2-zCGniLq23anE0q3TPqxz9KKohfHg.cache +0 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IOY-FXTXyAAWf-j7hGKCa7alYl3iH-RfAKQW6WNCQlg.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Idsm4w6u3zo8zdP5-1h6STs7F57b3lkeiPYSth33WtQ.cache +2 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IjlhS97MX3BYWw2zAgOaKiWjPLJUKSmoQUR5y-V0EIo.cache +0 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JH_9SiwprSalodbxuZDN1nm0f2sqb8LcXAxwbDaM2SQ.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JRTp5o-2OLdgSf98RfB6ncFrr1PD4prDvoH2qZ6Cq2o.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JlhpehI1KNUzskYuR9aSN8xfHovA4iKoVx6BgwkKuiU.cache +1 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KFlrgefvmmJ6s-sUxrVgQBpf26Zlwj2ZogFfmnNgRwI.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KOGWaPIWpqLN-H2rR-73N8VcvpdOw3oSFq_HYivvqMw.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KZGKo3_Ux0XnCZFDkMycBhf6j-wzqvH0Ys9XGOs9Qjc.cache +2 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/L1OB9MCMq8NyBSHIl846wLHe7PAca78GXxaeaSIwYOk.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lch11aVa7EVBPeHjQ0EQWVaMX2r0WzrcXwk6K9lbQ88.cache +0 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LcvBwyVWxnfbdE97Htj4w4SPhxLkbg813H6mtTPvIbg.cache +1 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M1PC1qa68zhJ1Q7pqHL3-yTu0gMQPirKybzrY2UBVr0.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M7Xa9LBFtGAlgUb6Q8mPF2LPXAd--dGDvGVQA6LOL6k.cache +1 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M7gh2NlRVfGTxBrZi-1yaDdvr5y9fDb3D8fiNrzPaL8.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MQxwmzY47y51HIaJJqT4PR8jjfGacV0JzDeMyZ-dhdI.cache +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MSNOSPCypCKz0zgpfKanvRFBvymb6o47iY3hPNo84Dg.cache +0 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MWrFZxIQI7bA-Ozd3k87Zk5hhVBpCoYoQtdAXxGqFxs.cache +2 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mb6TBKH27Qpq8cxbnJU9cUtct_O4qLFK0kW-l6gA0xQ.cache +0 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MtNORCmZF38gLTPApAu-rMwhHyo3urZjJekQWrYXW_U.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mw2RiLPFUHhY-c2C5q8Qj9TFJkzaxYpJyyvMrLWi3mo.cache +2 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NM_SZTEvLjOBXcUZ8v5Lc_-6rSO9gWrr5BcTib0YK58.cache +1 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NRdeCMKMfp51PHF9NoC3CLtcqt71XCP7xncuLANrQLo.cache +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NauBwmu3NDN391OwfpI6htxUdkYQTsl8jYfiFEzNtgs.cache +2 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Nd1g7HF7QpmY6CJh8VR5uLbiL293rHFeMC9WViilfQ0.cache +1 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O-t6Ggj54B2qkRhh1UMw6ZTd4rSUbduRM9SgZ0Yufq4.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ODM1A0-MTQZVePxRPmlxnwYfsALTxYwTwqC6PZEL3Yc.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Oiz-vHY3zrmg7XihrDI8C7noKItrw4j-FojzjwLFtTg.cache +1 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OwWFiU8nu0cyFo-qlZVbwtt4aqDFz2YY0vxAx3SdHgo.cache +1 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P4tpW6voOWJN13IMYPV8BBcLb72dRL_oAnqtvMD6noM.cache +1 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PC2ixqxq-lebKpZkX6uvl7j2JbYofNZu3aZu8bJXazA.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PbjhPnVxp2FymXtEbSopxzJW24ZBb8v8dfP0GF8cs3w.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PhIruj_HREkekapCGv-Ymdy4fnGt_SBsNaJ-wR_Qx54.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QBBPmCl_6JNM_Y5k_ujXJZNA1E589Ur5Luf6AsyQieI.cache +1 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QDAxf5JNyFd7ih2W6fGiB6N8YTs5O9W3U9-lVxNwv1g.cache +1 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QHCbzhO15ATU0NuZmkLpExRZ2wpi9ztEMRjMoz9V0_A.cache +1 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QK3bZcd-qzW-01w1uj3PAmvefd5pYkD9vfU59Yf_VmA.cache +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qh5AIYThgPQl0gPfMFhAo9KfuSevsNudEJAvyEFt8ew.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/REY5IzKwDFZscj7cqC7HI6VXQ3k7ieBpk9yZf3K69cE.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RQCa4tO2WXNmk0f_HEYQxgGScUSVxDx2Dbt0aUobbFA.cache +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RnNZ-GVb5UaUqjPyexe8APGVCj11NS3ZlsMLjGIsTak.cache +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Rno-aq0MC3-qdT_XOMgydcIVTn3yRBlaTjLs_Eahw5E.cache +0 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RxCAisceBtWwHnx94h1xl_FRFVjk_ALZHbuC_pMcKY0.cache +1 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Sk0BOffT2A-aKDBwfROvAhqgoNwcMhz-aR-7-xWGCqQ.cache +0 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T8xX--TijEeVuS4vsG8a4_VLKUmMPz8gwspwrT39iIY.cache +2 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TDa2enNs4phk4vgd7U9eQ44EtsH9iQOP4OMXS0_6p6w.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TQdtMRNwWOXYBcACj1cNfCnaWdkOOKwH02sIY6AyI4g.cache +0 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TgngM2fqhT7BBipJtIQDv9iGcIkIZ9pdhG7IzWNhDdA.cache +2 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U-txrV0CTBAuDhviFEz3zd3oxqxQaS7mK8W9mp4Mz2w.cache +2 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U2IPuMvgFxaOgEbp7r-EGN_MX60Z09FG8IDOc33XnI8.cache +2 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U3zSnR8VhP_2qPfLexPdXVZ4afUNHX5_5vY68omY5wk.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UtRWeM1x-3QwudOxpG1qbMG8l_5Y-vvbBOI7VgtDgzk.cache +2 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V2FIUY59Yxsb0NO5ix_ilKfhKkPE_vWE96YYPukXNTo.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VDQBTPkN-ZyEOinFwsghasae4a5wWFKPQqIMit3SNKk.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VE6y9lGSVXFe-LzmlSZTLpG1jPuTY2h56WJB_r1w--U.cache +2 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VPe4_OC_7A1qIRTwC3X1ZYpQa6B9Uuy8HLhWbsFQ3aM.cache +0 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VT-NSsaMUAEM1SI0lxmreA2QbB_T1hAdWEAQX8y06KQ.cache +2 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VXh2hNNorD83XwRzrNTliFpnTCfQWx6a9pfpoSNJlyY.cache +2 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W7cEJ0L-lIA_Iu3G6Rdji3Ua-VTp1kI-Pluh2XsZLCM.cache +2 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WCl46w9VIXhadqORL1t7hAn4Ec5Gifv-27kzOlVkE-s.cache +0 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WIMN8AIbUCT--KnKwRLSZru3_NWleSPvgVeknrhhntY.cache +1 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WOikv3V-OnDxVe19Z5QYg928sMi_arKEpDbLF_R-baA.cache +2 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XBuebWu06BPBrs9UmgEwYyKqfzuuJIdcwY_aFtOthPo.cache +2 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XVvEqq8PZcKciXp7XXR5yeIJD1nVSWH0ZDXxzoyImIs.cache +2 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y3Oo3YLpvKbuAo9kgfwexh8PshAPo4pRDD1uOfFKwVw.cache +0 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YNxv-6FPDnTHBcleGVvnjo2tt1RbVsFh0flNZc1iUF0.cache +0 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZvQlqydPyQ3NgGJxrmV8ct_VPWQJhZWC0AOWRHFlrQE.cache +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_8dVD0cWSRaWZvF1hlj4hnt-5m-ef9B4VR0g601NNSM.cache +0 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_X37QmnQjXiS_ciF3Tv2OPlEYqJ5CONpe1MusaBPlrs.cache +2 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_ud6IsnSMUB7AFlxdL2wfFHt9e27OFaMT8w4Hhi8s3s.cache +2 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_unkFsywRc1IQUNrgmuli0vO85WUBKIwVdjsgg3CttE.cache +1 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aAS-OSOt39twsAhZ99wbPW-VePQx8y73lyDfzesjyOA.cache +0 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aSpwDIPZvLCzgg6eQ6CBYrPcWfZQj1hExnj2bZuRS7o.cache +1 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b3ykymahF_f-VnArN5YR4ABhdb1nhYlFC14vUDfQyrA.cache +1 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cPmlWj7lvZ6UJv565rT9Yf4p2itgp68b8AUm5FzTZLA.cache +1 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/caBfnmAR3oO1yjmya7RGKBYDp8FbJ98vbE6oujzfmdo.cache +1 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/crsxC4Ikcv-LjlOk6kbrvpFX_kwS6L_ZuCFfmtcqJ3g.cache +1 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dam4xeft-4pxJur4mOVZyEr00BbD3P2fZlJJLDBCW4k.cache +1 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/deW3RdnDWk7eKNfNaPTndnMBS-C5Uejme5QbIwV_DFE.cache +1 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eSSl4nM-pHeKRM49gXvzCz6G_Z3s6sO0NuSasWl_guU.cache +1 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/efpqwE725HhsNQs_pImHXdYWLBRkpKccWFxah3Mgrg8.cache +0 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/exTl_KFHjcHI_yZnLurj8IX2Wf5aU4fF8KuQS_zwRlU.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fA2p2ZvO4FoVN_JiRuXgn1QjTTnyXth5bSywCqDC3D4.cache +2 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fvqqXy74j0pkvDiYupbSywtHJb8Zaj2no2awsxmN080.cache +0 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gKweYCa8rcDoyO2NEl9sWZQTaBMPxyS0N3GlCKJH-dk.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gkZuJaPRfMY67pzHWGAvS8fY3A_8Wy6lHAt8jZjc-RA.cache +1 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gvLDa5XGwSj3L5oZiQ94ZsnwY5CHS8qX2BliHyhUXGo.cache +1 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hPff0eEhvhdthhYgdHy3lzeNZ6cvhDzQo423PYr9pOo.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i6wcQuMV92ZYfW22B1MudB23VrRPGzXB_F93-__pDTk.cache +1 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iEkuA2D_doNDfSkOynSJxE4hcKEv4n-ubxiW85zYBkM.cache +1 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/io9mD7x5wFh97DDeLqB6z8G306olUZC0ZQ84iHMZAro.cache +1 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jPX_s7R9Y9Tx62x3BSdnJgcc2fuTlxZfIsf5VIy56bQ.cache +1 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k0Wj-zYEFyY7FYmy76a8cDpFBOZUzOoWtpTt-tpk3cg.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k1-xgyd9Qgfi9ud2kiflYrHmX9WeP8hRdLKnL5WRtzc.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k1VysugytfQfsmfyfuBdbNu-StUicfHR62A7geolXjo.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kUCHSLInGsexuLlZ_wAg4HlaEc0PpVNedulsjuAR9xk.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lQq-Tpm4qUuP2cNQrF1kJQlcYyp-4DkSbPyywRjB7EU.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lSKeX0hb4g_BdOr5mS-N-GPWK-bOfUDKaUxwWPY4Bnc.cache +0 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l_NttTk8glBXTbELzF22gXG3O2as7dW3WK01jezGSi8.cache +1 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/le3lWrLzZBtpidZgBJKf3dYop_ZfPcqZRVBw8zNID_E.cache +1 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lmI9T0rmkVx-nfDZzH3otGBc8XDUulhF6_IBVDwLR6s.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lpZxgXXOQ-_cQ5QAkazer4uKIN29hyUzK819qscqy9c.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/meGcwF7aSx0DI6roHb64NuIydoA0sBf1--7fMIvPMIk.cache +0 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mfRvZs-7xZ4l5rmcRPsx_2PrIt8yy8x07EX1svQggmw.cache +1 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ms6DIHGMHdSmp2E3Qag2dM3nEpuraKkYPXOer9VqeiI.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nNH1DxPzbNldMpL9AoZLagNwZMzBWDtBijp2oRde3qU.cache +0 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ogryVIUzLqai9RFlk_9f1BHE2jaT5pCkuzPJc6HUi14.cache +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oohjElyBvDP5_IEsAmTkOGRy8zPR8t9y0Mt4Lfz7wCc.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p2-oKPIsNm7gfEoPR3fSemp4FHNzmkBlKDKtI-c-RbU.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q45JteXUa8iW35xv164yY8EGpnSDDrPoqUTf9ok5SAM.cache +1 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qxVZ61uwoSYgk5oQil9oJsK_mW-4Iu0OyzLaowE9QY4.cache +1 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rEIAYiWN0KehRrvEQ21kF8WGbaXAUfFveeU_-PA_P80.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rokmpmn65Y0E8f0mS7tpUGqZH_-nDqKwXJaJrT2QzXM.cache +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rvK0pxfJz2x0qVixalWGBt6eImJsXUWsyUikhjFwKhg.cache +1 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s7fQQ43jB6mjRFIz15dLVI3dEYE5iV_2wC-UKE7Eqbs.cache +2 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sDa1E7GLMXpwYf2zCQHKEtZ1J69eLwo4h3-zjmuK6O0.cache +0 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sZ8K3Y4HlxDnWUkSuBm9Y9-kgjgQ5mhoXULi0qwyppI.cache +1 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sw2BwHXpuM7qfRX9jfeVnZE92JprkTSjQVC2fOVpx6k.cache +0 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t3BapNcJdpGFBCR0zx51zIOCZxbgUFoPVSyOLEvzKF8.cache +0 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/taFCQLLdXXCgg5G2PJmmJw7WAy_kOhjGK7xdFqDe4RU.cache +0 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ttACw2Hkiu3aMFohPEpPkoV3CC-NCHbL_9r9IgM9J6w.cache +0 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/unaOvA_qtYauqiV5Bz8XK5Rq37dpo4i60tq1Yrw25YA.cache +0 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vBU_oQb5K0cQryFOvHBC4U1ktEYub1O9QU6Ch6NnbL0.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vEdmkyFUgEwIqJIci63zqfK3YYu_WUeZMJ7g69NUZvI.cache +1 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wED6wq_166nc6Y6_JqRlmSW-u8U6OvHA9JOi0cjtAVk.cache +1 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xJxbntYgnCUF_3FJ6ax-Md8iE3aMxqFpUqxSKjKTFzc.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xm4ynjEHIwAlkT7UWVtq5abB7ymHiphYNIwSFCuNA-0.cache +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y6y7_CdSNWHZxnMgfTQXFRfIBVBHsnRwQKYbyytK4eA.cache +0 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yQsm0KL_rBq3n-Zpk60cYbU-qKLDl_4VxoBLJEw9JP4.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yUZ4CZcVHpXC6prvIuccXFjhVLQnNeAge7fwOyVHkiA.cache +1 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yscXmDNt87n8gaZAGLo4Eggj3ta6wm-d9CGzb8Coj4c.cache +1 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yvg4LuqachT4wmGP6bfmq070O1S-5_jKMGPQ5YcWBbI.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z18bIGxlzN8ON488PL1F3wh_NWsD4egV63lcn_YzZDI.cache +1 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zMheImdnv7QXtIkUnaLRmGRbBT2xLdUXqdkIY7Yovzg.cache +1 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zc02B6j1sJ4uh9IrrDXOJM1tqG243hIUwDGp9Ejketw.cache +1 -0
  266. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-SrnqbERIC3yCdUkYkP-rPk7YYSdasLVe5vPA-vjtg0.cache +1 -0
  267. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0-wSSu36D6YrVvOEj8KTvT9NZVstyzMsss71WxcWE60.cache +2 -0
  268. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/15KZXWmY-aFT8cfE5uPBBSNKqH13bGGNJNXxDE0V-WA.cache +0 -0
  269. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/19SfRzGsjgrb5Xcr8FDkrPLF9E73cgBrQ-_dgZx6fLQ.cache +1 -0
  270. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2HeIUhXyK0DMffcAADE4tUx4tIptmnFpNf-xPnhUTsA.cache +1 -0
  271. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2Wv7aG9_L8ihkDwzJutxgUNL1oQbvEm9vFNZCqf0o0Q.cache +1 -0
  272. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2eCAcwlE8cvpvDwGOR0y3RdwFxG-Uo9FPJ-XveNx9O0.cache +0 -0
  273. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4Ba7mPK3joTmHTnH7ZwaxeAwKpG_ahrqJEycH0L3dKU.cache +0 -0
  274. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4E9yI-01GR8FocF_RPq7jPb_r6v5OJzBIQ6ndSZY6Ac.cache +0 -0
  275. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5MYrDqzNBlq_JRGZzXuyY00F2Wc43q7gIMDTx6bttz4.cache +2 -0
  276. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5eqR7HQXbdX7FZOCiKXGizHkkiUThEXNzi-mss2oyU8.cache +0 -0
  277. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5rCRVAkiUUcxvARZIYiC73ML6sRwDjoJUN7qrt5mEf0.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/7X9WxqLdRdr5WA434P8ZsB-6b5uRrFpb3yzvnKhVObM.cache +0 -0
  279. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/89kpDv8soAyWeuOO2i-QTOu2O530SFQepqyPkngtTuY.cache +1 -0
  280. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8cpYQaSX4IrLGgqAE90uP3m7DwF4ttXHLvXh1b1TflA.cache +0 -0
  281. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9RauYKcVeOYCaLLYxxQrIHbZmlOdarost3wpQjnHtvI.cache +0 -0
  282. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9g6uuOnPA6ZFbDsmFpjGovay8vCHBnegImxETwz9YrQ.cache +0 -0
  283. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A41MT8xWUFUMbKAP5IBvFZPFxSOy1FSR52U0Ktn9iEk.cache +2 -0
  284. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A_Mgj2T1HUV28jFN8rT-rLYGJ13jDCyg0svfAlyKEL4.cache +1 -0
  285. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BAR5AVm4w0xcnQnlvdPY4i69kq_v6TMQNdSFbHVO7XA.cache +0 -0
  286. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BrQRHDuvOBGooyPjkGrxctLYGOrn4uT7PhMJButdA8Y.cache +0 -0
  287. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/C0ko33oWWmWdbhO1CNTtbwZOPFCKmKzFjbGdDkiv4FU.cache +0 -0
  288. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CkaXMc3KAzjZwVE5P18M2IZuY0mr-S9xOy_JLF1O34A.cache +1 -0
  289. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CvFDw1yH4H0djF_P-YoONcq5hRuAzx9pt3EoTs8TPSc.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DtMSdtj9n2ytUFD3eJvg8HlYO7qtOAS6W8z3GofBjd4.cache +1 -0
  291. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ExLV9IbvCa6biJfZc9kz8aUGf1omcv9BT-Iv6ENlEGY.cache +1 -0
  292. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ExxhUhA_vbDgLz2_zm67qEg9MVnXrMK5lHlXNcosJSE.cache +1 -0
  293. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Fzye4VhJ6oTXduFYFOZxRMjeUwRT6k3ITuqdgnUlK_s.cache +0 -0
  294. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Hm48qbwMCX51daTUhsKKI2IcZkyUDS_5Pmns086ZT1Q.cache +1 -0
  295. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/IlEZID7P7ZVuy7SK_GL5_Vy8EjZsJ7t74fPKxJuDutE.cache +1 -0
  296. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JCbwFtZjWws4K6hFGdKhaCexIEvC_lrd39Z5meCKA_4.cache +0 -0
  297. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KFlrgefvmmJ6s-sUxrVgQBpf26Zlwj2ZogFfmnNgRwI.cache +1 -0
  298. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KZGKo3_Ux0XnCZFDkMycBhf6j-wzqvH0Ys9XGOs9Qjc.cache +2 -0
  299. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Kfo91zwBZGXKtgASjSHe5avxDfcqZLqIfHlO72uPr3w.cache +0 -0
  300. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LnUMPDCEx2BPZ8zzIkuHYj9iMha9lAhsPqhj_kv_jf8.cache +1 -0
  301. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/M1PC1qa68zhJ1Q7pqHL3-yTu0gMQPirKybzrY2UBVr0.cache +1 -0
  302. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/M7Xa9LBFtGAlgUb6Q8mPF2LPXAd--dGDvGVQA6LOL6k.cache +1 -0
  303. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/MRYSMH-zr35cGm9bC22ILGGASlskif4O8H4Gz_5lyzE.cache +0 -0
  304. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Mw2RiLPFUHhY-c2C5q8Qj9TFJkzaxYpJyyvMrLWi3mo.cache +2 -0
  305. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NauBwmu3NDN391OwfpI6htxUdkYQTsl8jYfiFEzNtgs.cache +0 -0
  306. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NlIm1jpBl1-zaQ8sM07bAjuXYLGZ2S4fvhBjV-XXkz8.cache +0 -0
  307. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ODM1A0-MTQZVePxRPmlxnwYfsALTxYwTwqC6PZEL3Yc.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Q-6S0HsMGmjZNY5_x9vDBghdsqjDW3aGZYaiBW5m4Bs.cache +0 -0
  309. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QBBPmCl_6JNM_Y5k_ujXJZNA1E589Ur5Luf6AsyQieI.cache +1 -0
  310. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QHCbzhO15ATU0NuZmkLpExRZ2wpi9ztEMRjMoz9V0_A.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QK3bZcd-qzW-01w1uj3PAmvefd5pYkD9vfU59Yf_VmA.cache +2 -0
  312. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R1scqanKcVlkycl6Ouf-cwXlvjbLhRhGPWjUnMa-vp8.cache +0 -0
  313. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R5KbPrgxlHuiTZST-jImOtLLQ8gbmpwq0zyoWDcTS6Q.cache +1 -0
  314. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/R94VaxbcphivWsNPXAgGs5TU8bWoqQbMII8hrluLWms.cache +2 -0
  315. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VE6y9lGSVXFe-LzmlSZTLpG1jPuTY2h56WJB_r1w--U.cache +2 -0
  316. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VT-NSsaMUAEM1SI0lxmreA2QbB_T1hAdWEAQX8y06KQ.cache +2 -0
  317. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VXh2hNNorD83XwRzrNTliFpnTCfQWx6a9pfpoSNJlyY.cache +2 -0
  318. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VsTsAUxhiLZLSntLPFPbDvJdIYb8o-dPZqhkr99XSYk.cache +0 -0
  319. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W7cEJ0L-lIA_Iu3G6Rdji3Ua-VTp1kI-Pluh2XsZLCM.cache +2 -0
  320. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XGaYTcjNgGZSAJGgrLPQyRdz3qdvyNEF_8HfEAwmzPE.cache +1 -0
  321. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XVvEqq8PZcKciXp7XXR5yeIJD1nVSWH0ZDXxzoyImIs.cache +2 -0
  322. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YU9fg437IkM6XV3YEBoys93u9NOibdIVqrrUaacwyw4.cache +0 -0
  323. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_unkFsywRc1IQUNrgmuli0vO85WUBKIwVdjsgg3CttE.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/arfkUa3-jw-eyzFARfHPs1UYXp9wmKNBkpRjv37CRCk.cache +1 -0
  325. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cJZIaZpFuXo9qi32ptFX8Ss5L5z2Axl5le0zXSuI7mk.cache +1 -0
  326. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/deW3RdnDWk7eKNfNaPTndnMBS-C5Uejme5QbIwV_DFE.cache +1 -0
  327. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eKzSAPFYMTJJtBbGDkJei1j7L5vNaiON8INcPFVdtgs.cache +1 -0
  328. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eYJHHT__uUteoXFycfhwbI379K3REk9_GIgo6d02V3s.cache +2 -0
  329. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eZtGavcNvUqfmdk2R0dC7AU3Vc1tGebNxzUAKBxwlHI.cache +0 -0
  330. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fA2p2ZvO4FoVN_JiRuXgn1QjTTnyXth5bSywCqDC3D4.cache +2 -0
  331. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/h6F9AxKDVkyCZGxugKy7naZ0mSN4zCKqZGyhYvkqvQU.cache +1 -0
  332. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hPff0eEhvhdthhYgdHy3lzeNZ6cvhDzQo423PYr9pOo.cache +0 -0
  333. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hWCg1mj3atfnDkt5IvVEvThxTFWzFGtCQ_-Li5lRa2o.cache +0 -0
  334. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/haN4fq20PpOYrqUohWsod0JUPP6Os71uWf5YvzgFuGk.cache +1 -0
  335. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hn-w50jMEFbicW2Dp1j8GpI5KROTaVD3-Gk5RO7RQ5U.cache +1 -0
  336. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jPX_s7R9Y9Tx62x3BSdnJgcc2fuTlxZfIsf5VIy56bQ.cache +1 -0
  337. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jjHhKuJevYo-yUT02KoCUaJxJXjLUGTVmTsQcCu-tnY.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kDg9RVyEG2VdVnmrBA-4FBymSjozt3wmfJHEY9CtNuE.cache +0 -0
  339. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lmI9T0rmkVx-nfDZzH3otGBc8XDUulhF6_IBVDwLR6s.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mfRvZs-7xZ4l5rmcRPsx_2PrIt8yy8x07EX1svQggmw.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/miVimTZst4AsQUnGPqQ4U_HhGQ3neDeqOc8mTlPMOSo.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nG4rxs0eE1H1baY8Du2oF_6fHSdSkIA8WGbIMWMItEU.cache +0 -0
  343. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nY_Jhgy8H2zwL-Lxrq3qvmsk0YxD4lcT4hpAgokGk7M.cache +0 -0
  344. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nnOpP4k0oge6JPLffQyVmZo96WTW7hvAHXBKJSY3KNs.cache +1 -0
  345. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/o5ED8HllG3WPFxZ6UstTTnbEYPEvLp1jSyLgvv-tX2A.cache +0 -0
  346. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oDOPnEj390MR1YfEG5hRpFKsbG0q4pZw9UxFrWbtJC0.cache +1 -0
  347. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/onaBeYoPVo3S1NObk2-D9McYV83G--hm2Z84ffBGsAk.cache +1 -0
  348. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qahjSYirnViO_FGaTIlSRf68AaJ5EKPiicR8jqOsTnA.cache +2 -0
  349. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qukp9m9UACC7bt1fblHjnUVzjRuEC5s5lME7DL7haus.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rokmpmn65Y0E8f0mS7tpUGqZH_-nDqKwXJaJrT2QzXM.cache +0 -0
  351. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sDa1E7GLMXpwYf2zCQHKEtZ1J69eLwo4h3-zjmuK6O0.cache +0 -0
  352. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sZ8K3Y4HlxDnWUkSuBm9Y9-kgjgQ5mhoXULi0qwyppI.cache +1 -0
  353. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sn1vZfiFbyTKg-DbUM9t6sLWO49lvFCZwPzvxm8St_A.cache +0 -0
  354. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/t3BapNcJdpGFBCR0zx51zIOCZxbgUFoPVSyOLEvzKF8.cache +2 -0
  355. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ufxRCcZC9kt2qFaJ8uLYuvX1jgB7y-YDJPTvHNGuwm4.cache +1 -0
  356. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/us2Iwpcxj7LfGKRzLKyxfupmLdKUWAG1mcl9Ulwm7A8.cache +0 -0
  357. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/v7lRu7Js_JTOZwjKgRbeBiSu34ulax99MVSrCA6SOHU.cache +0 -0
  358. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vYnhEbN8-BdUD2XzMVhMqScK6TVOwS4eT0kghnhH_ZQ.cache +1 -0
  359. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vrIw1vVDqnPzKkn-IXRGcJN8dvx6T5-9E1C10JUEH2k.cache +1 -0
  360. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wEcmLRb1qcqdz7D6e56ZiMOLC0X-ggwLg7fl9mnETuc.cache +0 -0
  361. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wSzzwAXupe0710Y82LeeVjn_1YUz8F000DY4S3CmJJ4.cache +0 -0
  362. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x2yFC1uGoElRMUUlSOTjQMwSl8GLJlTh0wcG46KzQe0.cache +0 -0
  363. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x4rxavGlxT8kesLmEtzUCiDIMvukTK9J1e-ZBO-nqUI.cache +2 -0
  364. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xdiJDFIdWaEcnza9i90UZEeHDeQiz7ywIUtqgmZNtI4.cache +1 -0
  365. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yAAuhzCCQwkAAR3dnO84iMkr-0se8_Afon-ii9rMuVo.cache +1 -0
  366. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yB7SzMJ_6r-Nl4tA0jmdlA_uD6xoDb64BJ90T-WdvOY.cache +0 -0
  367. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yEsz8DwMrWdZDKbJlq_O2KhEy2ZQ2cIvCx_gJiCk19E.cache +1 -0
  368. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yfGyup3QG8xweHxeY1UPc2tpAW3R1aPfVaOCN9qukvI.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yhAoTeN7DlVlFdOvIrxUuYqaIBMGctZfcKloHqiYm04.cache +1 -0
  370. data/test/fixtures/help_engine/help_pages.yml +20 -0
  371. data/test/fixtures/users.yml +5 -0
  372. data/test/help_engine_test.rb +7 -0
  373. data/test/integration/navigation_test.rb +10 -0
  374. data/test/models/help_engine/help_page_test.rb +21 -0
  375. data/test/test_helper.rb +33 -0
  376. metadata +852 -0
@@ -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=
@@ -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.
@@ -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
@@ -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,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -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,4 @@
1
+ .help_engine textarea {
2
+ width: 90%;
3
+ height: 20em;
4
+ }
@@ -0,0 +1,4 @@
1
+ module HelpEngine
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+ end
@@ -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,4 @@
1
+ module HelpEngine
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module HelpEngine
2
+ module HelpPagesHelper
3
+ end
4
+ 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,8 @@
1
+ <article class="help_page">
2
+ <h1>Editing Help Page</h1>
3
+
4
+ <%= render 'form' %>
5
+ </article>
6
+
7
+ <%= link_to 'Show', @help_page %>
8
+ <%= link_to 'List', help_pages_path %>
@@ -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,7 @@
1
+ <article class="help_page">
2
+ <h1>New Help Page</h1>
3
+
4
+ <%= render 'form' %>
5
+ </article>
6
+
7
+ <%= link_to 'List', help_pages_path, class: 'btn btn-primary' %>
@@ -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>