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.
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>