cally 1.0.0

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 (503) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/cally/application.js +38 -0
  6. data/app/assets/javascripts/cally/invitations.js +2 -0
  7. data/app/assets/javascripts/cally/session.js +2 -0
  8. data/app/assets/javascripts/cally/users.js +2 -0
  9. data/app/assets/stylesheets/cally/_mixins.scss +7 -0
  10. data/app/assets/stylesheets/cally/_variables.scss +8 -0
  11. data/app/assets/stylesheets/cally/application.scss +16 -0
  12. data/app/assets/stylesheets/cally/invitations.scss +4 -0
  13. data/app/assets/stylesheets/cally/main.scss +88 -0
  14. data/app/assets/stylesheets/cally/session.scss +4 -0
  15. data/app/assets/stylesheets/cally/users.scss +4 -0
  16. data/app/controllers/cally/application_controller.rb +9 -0
  17. data/app/controllers/cally/invitations_controller.rb +122 -0
  18. data/app/controllers/cally/session_controller.rb +40 -0
  19. data/app/controllers/cally/users_controller.rb +292 -0
  20. data/app/helpers/cally/application_helper.rb +30 -0
  21. data/app/helpers/cally/invitations_helper.rb +4 -0
  22. data/app/helpers/cally/session_helper.rb +4 -0
  23. data/app/helpers/cally/users_helper.rb +4 -0
  24. data/app/models/cally/application_record.rb +3 -0
  25. data/app/models/cally/invitation.rb +8 -0
  26. data/app/models/cally/user.rb +13 -0
  27. data/app/views/cally/invitations/index.html.erb +30 -0
  28. data/app/views/cally/invitations/new.html.erb +20 -0
  29. data/app/views/cally/shared/_errors.html.erb +6 -0
  30. data/app/views/cally/shared/_header.html.erb +25 -0
  31. data/app/views/cally/shared/_messages.html.erb +7 -0
  32. data/app/views/cally/users/ask_security_question.html.erb +19 -0
  33. data/app/views/cally/users/edit.html.erb +45 -0
  34. data/app/views/cally/users/forgot_password.html.erb +15 -0
  35. data/app/views/cally/users/index.html.erb +32 -0
  36. data/app/views/cally/users/login.html.erb +22 -0
  37. data/app/views/cally/users/new.html.erb +40 -0
  38. data/app/views/cally/users/old_reset_password.html.erb +3 -0
  39. data/app/views/cally/users/reset.html.erb +26 -0
  40. data/app/views/cally/users/show.html.erb +16 -0
  41. data/app/views/layouts/cally/application.html.erb +16 -0
  42. data/config/initializers/time_formats.rb +1 -0
  43. data/config/routes.rb +24 -0
  44. data/db/migrate/20170902103230_create_cally_users.rb +17 -0
  45. data/db/migrate/20170919060132_add_security_question_answer.rb +8 -0
  46. data/db/migrate/20170923052040_create_cally_invitations.rb +9 -0
  47. data/db/migrate/20170925115607_add_sent_to_invitations.rb +5 -0
  48. data/lib/cally/engine.rb +31 -0
  49. data/lib/cally/methods.rb +58 -0
  50. data/lib/cally/version.rb +3 -0
  51. data/lib/cally.rb +5 -0
  52. data/lib/tasks/cally_tasks.rake +4 -0
  53. data/test/cally_test.rb +7 -0
  54. data/test/controllers/cally/invitations_controller_test.rb +13 -0
  55. data/test/controllers/cally/session_controller_test.rb +13 -0
  56. data/test/controllers/cally/users_controller_test.rb +13 -0
  57. data/test/dummy/README.rdoc +28 -0
  58. data/test/dummy/Rakefile +6 -0
  59. data/test/dummy/app/assets/javascripts/application.js +13 -0
  60. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  61. data/test/dummy/app/controllers/application_controller.rb +5 -0
  62. data/test/dummy/app/helpers/application_helper.rb +2 -0
  63. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  64. data/test/dummy/bin/bundle +3 -0
  65. data/test/dummy/bin/rails +4 -0
  66. data/test/dummy/bin/rake +4 -0
  67. data/test/dummy/bin/setup +29 -0
  68. data/test/dummy/config/application.rb +26 -0
  69. data/test/dummy/config/boot.rb +5 -0
  70. data/test/dummy/config/database.yml +25 -0
  71. data/test/dummy/config/environment.rb +5 -0
  72. data/test/dummy/config/environments/development.rb +41 -0
  73. data/test/dummy/config/environments/production.rb +79 -0
  74. data/test/dummy/config/environments/test.rb +42 -0
  75. data/test/dummy/config/initializers/assets.rb +11 -0
  76. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  77. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  78. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  79. data/test/dummy/config/initializers/inflections.rb +16 -0
  80. data/test/dummy/config/initializers/mime_types.rb +4 -0
  81. data/test/dummy/config/initializers/session_store.rb +3 -0
  82. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  83. data/test/dummy/config/locales/en.yml +23 -0
  84. data/test/dummy/config/routes.rb +4 -0
  85. data/test/dummy/config/secrets.yml +22 -0
  86. data/test/dummy/config.ru +4 -0
  87. data/test/dummy/db/development.sqlite3 +0 -0
  88. data/test/dummy/db/schema.rb +40 -0
  89. data/test/dummy/db/test.sqlite3 +0 -0
  90. data/test/dummy/log/development.log +1038 -0
  91. data/test/dummy/log/test.log +15901 -0
  92. data/test/dummy/public/404.html +67 -0
  93. data/test/dummy/public/422.html +67 -0
  94. data/test/dummy/public/500.html +66 -0
  95. data/test/dummy/public/favicon.ico +0 -0
  96. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-7/-7G6Wtrr_8yiWKMdQBCxG0EJiox04WdFTfQUZHqtBLY.cache +0 -0
  97. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-U/-Uwnls2PzR4N2AVywr0B9O0jwhJonFkuBkdIg752e94.cache +0 -0
  98. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-e/-ePnkBqNZBkQXLLrT8krdPAVFf35WcPxkzHi3nbIzNQ.cache +0 -0
  99. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-s/-si288ORc48rxqOegeAnVE4yil1jO5-Go6mX7HgcvCE.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v3.0/03/03GiQLFnqA9kZtSCxF3F4Nb8GEyjSN_gdGQ-lRirBj0.cache +4 -0
  101. data/test/dummy/tmp/cache/assets/sprockets/v3.0/05/05m4Gozfb11gItFHEmwtEwpxauwKUrngD6ivZifiSF4.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/sprockets/v3.0/09/09zys8qWv9drSk0oTdU2b6nyr584aE9_SqxQdjpl1ZQ.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0E/0EEpWcr4GYho-99elTJe7nl-tF-2pj78HgS585r9iP0.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0F/0FqVj1sw_LtM6RrTkVkIUbJUtC6ROVOgyih29KMmUeY.cache +1 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0X/0XMOKMw_z_7uyNxySrxXT8T9HsNrXOrufs0tDm9Gx2k.cache +1 -0
  106. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0d/0di8plHB-vEGG0k-Uo7uYUsGlyrGzEFCyBRHyaS73og.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0y/0y_zbw0TUL872-x0Vw1q8VWAxV-gR5EOE_jAO4a9IVo.cache +4 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v3.0/17/17Sw-XgYreb2bcJUTjjtuynxxmW2UbWPS0Aepnm3lSg.cache +2 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v3.0/19/19ukIrK3XwJQV4nBV3Xjheue5HdK_ymu62td7Prbaqs.cache +2 -0
  110. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1M/1MjUUC107hkbTCWYS_5eE0TnGM1C30y_OfDJhNFVk9A.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1Z/1Zf2BAr-hjyN2mmVW6IFnexp_A8HrzuvpyewyL-uZPY.cache +0 -0
  112. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1n/1nuVLOfiyH9EIXrxTGHDycK62eGIp70A6b8WaIr7DXo.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/sprockets/v3.0/22/22JbkVwfRZZ1ed7r8946IIcyjRsKW8gRe8uIALVoYD8.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2V/2VAzjA4TmNG4aBl4oCR6f7YE6nkAALdG7dw08wjJeE8.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2Y/2Y0QzeBE_3R2-qSU6uIWfxvQv1FzN9X5hX8PKZ0fpHo.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2l/2lDAJ7SJL4CfRFfuaxpJdo6wDGD24AfuwsOwtiMdLsc.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2x/2xFqoJ5964o6LRNOvnhlPWhHuEk53wfpCEw7THtXzAk.cache +0 -0
  118. data/test/dummy/tmp/cache/assets/sprockets/v3.0/32/32hYcy6WF98nG_Vz24VTrg8aN5IFAt2Q-vL3HsU74Ys.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3B/3B6E3xp77y6iJdPuRE3L3nvIt4CCJL8uyHhdkvvyVig.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3I/3Id57bA0lTkLBdBYcD_z1Nc_1aet1ocpNMQZxAMGZh0.cache +1 -0
  121. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3N/3NKjgXP1aV0BydAY6HEqWAmZzjIIw-_imoB-y9qfx2s.cache +0 -0
  122. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3S/3SBpCYLkoVny3FMehURZgL4KroeAvd7FnfU48mC9amk.cache +0 -0
  123. data/test/dummy/tmp/cache/assets/sprockets/v3.0/45/45yxc8XkudsEIfAj9-wJbszPtOlTPFHbcY_PhlcF9MA.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/sprockets/v3.0/46/46pqmzFZhb6ihJ8pK8-jySxrRYCPrmDPCVZtQoa0gHU.cache +0 -0
  125. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4C/4CTXZOGWyOAqY7fKlvYPxStOGBvkPngIzeOI_SnuFVw.cache +0 -0
  126. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4P/4PxwQEE2flmw_sZgpwjsf1qt4Nh5eZYnGmmBaUmW9T4.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4X/4XKOS17iavBJwiSAYpiLKOsKohqn3ya3JRmCIEKUnQE.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4_/4_6gozIttBNwRAZiuvPdbJtHTJCP5tQqN6d_i34b4RM.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4g/4gxcHBuhaJYSHh09Yp8TSWgaRd3OevKbmzjSh8uL77U.cache +0 -0
  130. data/test/dummy/tmp/cache/assets/sprockets/v3.0/57/57h3gS0UDTegyWV5uNTXiNWclqPmQptiOLGHWArpmTI.cache +0 -0
  131. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  132. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5M/5MbBRAfsyzv9U6UZ--LwvIo4mzf11XlGiytvVvMZSHI.cache +0 -0
  133. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5O/5OzIvbLg1yPzcH8lgRrMmMuriByL0fnL2yEdMpORnCs.cache +0 -0
  134. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5l/5lCz4ZUXwGd4AE-1sAI_J7jY8c-yty_Yt2m17R17v64.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5q/5qm_wEIFUsv2zBFnis3NkdVesfTYrD07CQJ9w7MKNhI.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/sprockets/v3.0/66/66BDSYZXfaTaFzShjFKozplRRznehvd3CU_vQd-st4o.cache +0 -0
  137. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6C/6C2rbrWR5xHKr2qs6z4L8-WoABZ-g3j0i_4dJ7wNlfI.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6E/6EiuR9qYYi6ZYm6HyXRRKkJH0QQ6rcKGrfPDMvCvQZE.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6I/6IWnN51PzHE9hasZeoZMd64IOPlOb7T4tv5ZwQIiebI.cache +0 -0
  140. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6I/6IlHTDcpN4U3SRWJBA38pK2K7HkweDGFPHkQ5teFTRY.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/sprockets/v3.0/73/73eHSmgTTMpQqobtiVFbaKgMoaFrncRkfso7ixKJ_Ns.cache +0 -0
  142. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7H/7HAuT2dlbhEkNo2KQg29AoEp7Tt05Ea37JhBkMNVN-k.cache +1 -0
  143. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7H/7HG2ANFnibaQ69t0X6GKB6kE3AAAEVCm-19fFLOb7is.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7X/7XWkyke6asAc1FZH-sFbRPQotpOJX3C6QUUI2sd3aBM.cache +1 -0
  145. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7j/7jhvqB7N9gHxWGePSDd5-g4MJbyalWCjNczeQObpiXA.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7p/7pFNTi_Q42DwJrPHVmdlgt22_7dHe3vnBk2wSuD56fA.cache +1 -0
  147. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7p/7pYRGsQGpn9K6jQNc44lZhB5Jq4BKa5Cdrr02s4hKzs.cache +0 -0
  148. data/test/dummy/tmp/cache/assets/sprockets/v3.0/82/82KsptJhQon_5-h3AT2FG4ZsN_nNZmg_jP9bIQhh-Tg.cache +1 -0
  149. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8A/8A88829RczEnPE79WTEui_P6eAd1udbiPW-eda6SS6Y.cache +1 -0
  150. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8I/8Io6FnKGSYpxgU9zGdbs2ubhvJ1sL3_b6XVcceuFsoI.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8Q/8QFQ-Qlhn49f5Peuf6XWc73ZZVaX8qIPGk7I0kldp3I.cache +0 -0
  152. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8i/8i465g3LM6IQI0UZ9fttuc7N1dqfNdmDmvyeBtUyNGc.cache +1 -0
  153. data/test/dummy/tmp/cache/assets/sprockets/v3.0/90/901xwPCxkRIytrNf3d_hbuQB2b2KOPoZ3hiWM56c6KI.cache +1 -0
  154. data/test/dummy/tmp/cache/assets/sprockets/v3.0/98/98NU1PFY8GjWUVNX5sRk-tCRQKuYIxCi-c6h9Jv0ST0.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9K/9Kd_RhHlTIPuP4Y-3qxXhlx49UxGAB15eBDjoGQ04Sw.cache +1 -0
  156. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9a/9aMuRkW0rgbT4sYxhD_0wsSEYBWb_KMK6yfZEW1MpZc.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9c/9cHFFa1beEqMoKW1pzMqWq_v6I0EXAGIMMKXQkNeKzg.cache +0 -0
  158. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9v/9v-9369ghnnYHf1e_4Lx0spzDVR_mRsHGQW7we1Pi1w.cache +0 -0
  159. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9z/9zQ1-NDC-YIiM3go53dU8BLvb5hWsPwCm_IUdXlIrTQ.cache +0 -0
  160. data/test/dummy/tmp/cache/assets/sprockets/v3.0/A3/A3tbqCf8PBKD3foE0Y1XP5bNoS_arjVTJmQiSO-Sf1E.cache +1 -0
  161. data/test/dummy/tmp/cache/assets/sprockets/v3.0/A8/A8c83jY89kUuv1RfMpfKTj3UqZBUQ6OssOYGtlIYMlA.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AB/ABzlcTo6qgW_1Bq_YoKWz64m54uVQh1_KGbG9HoWmlM.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AG/AG2Uz4-X_5r8eFalp4HFxUd1zYJ9ZFtC7IIkK6uoFA0.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AS/ASZ8cNw59CwVjZrG0fzR7dNXGjYA8fNR_Hez6fg51kM.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AX/AX23agVTSYHlc1N-cGfBbFM991Zhqzl2KT00yr3A5bc.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AZ/AZCRXIDuLQO2JukxYBqkkzogge8wOSuRLahJXAxMJtE.cache +0 -0
  167. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Am/AmgnVafQQ9zA64gIpQWq1iN3tqG5GeB21X8SOhLY1lg.cache +0 -0
  168. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BW/BWGrNF_DDTaXJWZw8cdsDE54J3wJ-DA7ZvRUfAEODos.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BX/BXkOmbjjbpmKEH5lXHRFkGVcWj3Pw8eTh5Mt5fkGCjg.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ba/BaO8PIlUiC0-47Q2sg7FDbpSXPQPnOVd2JuCorlGgLE.cache +1 -0
  171. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bg/BgOENKeIuC13vgNRY9nt_j5Qh5E_MiQuxc1xyC3tA54.cache +1 -0
  172. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bu/BuP162RZ2NFdJOFXzR_-K4UlJe9rPho2savQpesx-WM.cache +0 -0
  173. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CF/CFFOyZ_E9negEK8MBohmlEyV-ogoh7trLI2IMIa5Mb0.cache +1 -0
  174. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CG/CGKyUSYgc7NDw8o-XG1qHZJn4ndGmekQ-VWLr9HQhUg.cache +0 -0
  175. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CU/CUjfOnHrBo4VBNotuh5hs-9YI3xyNIdEuj3BReTuxVg.cache +1 -0
  176. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cj/CjDJtUDDWpQpH-0rqAaG2ARWwckP2vlqH14s-t6ZyWE.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ck/CkgeqiNEUyqDGDUJ3fQtQLzqVzNvABO0FY4FAvfo90Q.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cr/CrVCW6RqL1hRhBTt047U0-GKC9IrroFAgD1XgS6xoK0.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DO/DOsCAmCkFAyLYNkRycwi5d6p-BU-uwrlt4N4V9DNhpA.cache +1 -0
  180. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DR/DR40lRJvw776QND_UlCOK6iV3lbRG6vt3wIaRnbDf_Y.cache +0 -0
  181. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DU/DUImv_hPtH05drJpNXYTuGo3wjm0Ez1Om0ti-Vt_KKk.cache +0 -0
  182. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DY/DY__lvkCJmChGheQVztjJEqVDgFOCjLVNBLlJsMqx8g.cache +1 -0
  183. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Du/DuESbvVEY5Wc8rKpt7UPFGrGq-RC4gP2XAvy-2OvQb0.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Du/DuzBEWYl0ZkT9klbp1gq_nNr2dgfufqgBg1-RrMcylo.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EQ/EQgBIQrVxkiFz0pHZJv_HA9OfVLlzmR9SEvPoNX5Mwg.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EU/EUwGYTFxLSlkXqzM-GUNfvA8O8UfxQ986rSHL48BK_Q.cache +1 -0
  187. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EV/EVpB7wcjBRrHkQMLbldAdRfTZI_E-6i3wXZHDncFgG4.cache +0 -0
  188. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ee/EeFTb5oXLeaD_BHJeCWaSgXy-5Qdjr--WNLQMg-R9Zg.cache +0 -0
  189. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ep/EpjVzEujnF91QLHExWOdbgnojGR9x42q2EN-wp_hb7g.cache +0 -0
  190. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Er/ErXtTZqBAeNJSFkTFM1q-wX1GtvnVM0tvUd5q6oU93c.cache +0 -0
  191. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F-/F-jKvQYOLVtImcbbnTeSGLUDFgEq-cdcWZ3eKFtUhzA.cache +1 -0
  192. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F6/F6YPDW0Ew0cFgQLUVbLIJwd2ajod5AP-LExOGkshKw8.cache +4 -0
  193. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FP/FP-c4FCvr_TKyF_qfQz9Yo4_r04shuXTD0TMnf-qdNM.cache +0 -0
  194. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FR/FRuIOo50wQni1xZYYbuoUS3oJAbGB3mEyqxWUd_r4GU.cache +0 -0
  195. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FT/FTIoN4W5vLeul591kJW8z7dI3CoGYfwZgi6SxlSJ05A.cache +0 -0
  196. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FX/FXSFmhM7DFCk2hvfzGKfx30mUagBnUKqwWU6mheQDcA.cache +0 -0
  197. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GC/GCv3L9-77LNTLW3aNRBkVZqrd0Kd2YQCd-FH8SbjD8U.cache +0 -0
  198. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GQ/GQal8OrQgbO81hndXJfU1isgidDq6K9u2nd5haxRW0s.cache +1 -0
  199. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GV/GVsv-w8hgKBcvyO-cEI0EeK7O2Z_SnPQlqpVcbehBlo.cache +1 -0
  200. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gb/Gb19qJYhribJAD1Wsk_RdE3oBGzWCryAykNnB7DFxwg.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gs/GsMim5xNkenLDFS3Uw391XgtdTTuH_JyaNYcMui0i1c.cache +0 -0
  202. data/test/dummy/tmp/cache/assets/sprockets/v3.0/H3/H3qnNJUhSoxPm9HKhQjdQH7GCyRg06un-_qu5l3iUqY.cache +0 -0
  203. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HO/HOkwKduc2ZqR7mW1qShz_kd2AYPmf2eEQ88ZioUScac.cache +1 -0
  204. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hj/HjDY_uypE87cGMJcoVreQw_NUO3R_4gP3UVWdbVliMo.cache +6 -0
  205. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hp/HpVlYITvQpmtSXF4rMrVXVHEfQJkPW8S0CvCEPClTmc.cache +1 -0
  206. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IC/ICHZHvSMw-uY4XPT_Z3ygQmqNMFV6IwMy-7AHUWmJcU.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/sprockets/v3.0/I_/I_igYq6hRehfmJxy2GeTOmU4skX3vFwkkOMD0M_uoFQ.cache +0 -0
  208. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ic/Ic9RezxoQ6zj4bT2zj3LtsXKi_dAQkB7fQNzJBWh0FE.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ii/Iisx0qwGLaiQf2R4lD-YQ_rHsUU0ReQ-Fnq3VEbZMwM.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Iu/IuqW5_Az56Zq79oQmnxdtYHZbfP9jrSTTTOEP3e6lYI.cache +0 -0
  211. data/test/dummy/tmp/cache/assets/sprockets/v3.0/JW/JWwENKuFOpcdSHGdAgcUZVz82Njz3Pjm6wgvsA9l4bc.cache +0 -0
  212. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jf/JfFhfQaT_K7WDMpQqKnoQxZJJajIOPxh5uPJIvx_iW8.cache +0 -0
  213. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jm/Jm804vwqbO_dR0OA9orvLx5XyLiNQY5S6leYxumTgos.cache +0 -0
  214. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jn/JnOOowKR1rMUOgInbYB61wlY2gxTjJreeMWttv0wT4s.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jy/JyMeO34a-3yk4N4dWGsVglmJi6o4h0G2NNUKj_G5RiI.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jy/JyyPIaV0_YJrzC7jW3a1oWBFC_rk1ThRn-JRPotECoc.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/sprockets/v3.0/K1/K1lHNHIJrEnoIEJkrTqEIftLJB6mPdGzdsLOeeIXHfg.cache +1 -0
  218. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KR/KREri62j0WX1oMPw5yGFVZPB6OcEp254T7-7pbxxuNI.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KT/KTioNwNDHJX61P1k7Y2eu6nCjE49V81SA-KWcJfpiyY.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ko/KoX-2FnyAynV76TTiTBBS8OIlq5DSDptRzNh6FR4yZc.cache +0 -0
  221. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LA/LAbBaAZol_QoJ8WKo9ShsWfL7TycARx0pThht_TSPFM.cache +0 -0
  222. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LI/LI6J9U5x4Rdnla4Xu6vvTdxPFiskPDIn7X-YKOAjV5s.cache +2 -0
  223. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LP/LP-iBiX4yMwlD-ONUaXKobqMwK0E5m9V5qGhEFmScio.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lb/LboXdHbQbIUFLB3RD6rSrZHjulv_JB9MObCkYCA_XwU.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Le/LeUti6cCqMQjZ6OEiT85AvsHQCE1LKgEgzKMpG1NJ8U.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lx/Lxg5sYdRUUjZTpQgz-Vds7N_ZZHmAOjiYChfAhIo4oc.cache +1 -0
  227. data/test/dummy/tmp/cache/assets/sprockets/v3.0/M1/M1iYk9DF4a5SgOHB5_VIED5Jqf_NSiUHohtQsSvY_gg.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MD/MDeSUGV5_X4t5Aby7auBfnolxieYKDI1u0CZ_02Um3s.cache +1 -0
  229. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ME/MEH8JP05__fj9Dl5JfaSHyEA1hhmz0c7VmvJO2p4bYA.cache +1 -0
  230. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ME/MEbUHElyIvSY88yrMNTF9e4DvZRcyxcIGkOEOgJ-BaM.cache +0 -0
  231. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ME/MEwCV-LGlfnry2yYcGr9iWkb4ooWqhHdxS4pomCj1cQ.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MM/MMsUW9UrxCgfSLc7OkKTT4gdwlY-0FaLUdTXE6Z6Y_8.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MN/MNaoy4WQL0zrvfJYSxujVFUA60y0wofKdnLH37IAukw.cache +0 -0
  234. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MY/MYPwjmRrwAmRpV8eEyzDY8CCyP-uHG1utvuXIBnEhCk.cache +0 -0
  235. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mt/MtwPKDCtC9lvbauqPD7fuNcvgAkQi7Ng1F_ZssDCqzo.cache +0 -0
  236. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mz/MzvODkrDRMS_CzXRWV10z7NEbQOV5_eQUxbZfp4Zzkw.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/sprockets/v3.0/N6/N6zpiqdQQnMdbqKvaLmtCMaOnkGYPA52wXxffhnfJaM.cache +1 -0
  238. data/test/dummy/tmp/cache/assets/sprockets/v3.0/N7/N79h8uQX-MWoujeZow1E4xo5Xi7IqEeB9gn6iQarpkc.cache +1 -0
  239. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NF/NFijgfc0LvmjZ689j7MsJgtKVHu-IlHFP_R13niGrLQ.cache +0 -0
  240. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NJ/NJK1KazpzW0Anm3B_nTckSvtXyBqFfORej3pNEZDniw.cache +1 -0
  241. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NR/NRRbPerBBa96LrsGXRV2T73SJLzOh_tCOIMo6at8Sfo.cache +1 -0
  242. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NW/NWaLqZwAexRQYCPJcGXjr1loYBFnqoQX_n3k08dFBYU.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ng/NgvyaorbzP2UMgUB8PxbKJJn6wxpB0T4CSGRQscID1g.cache +2 -0
  244. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nj/NjTdYgBwfn3XL1KK8PTZRy0TnIBcJpLib7qD7LGhgrs.cache +0 -0
  245. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nu/NuFzfzvfnZqMXJHDK7tldK83dEbdFTYnVS9cnZE0KUA.cache +2 -0
  246. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OF/OFmomy8soPqiR5Id8O_1uAbO12bJMf5C5tEhnJ1z03o.cache +0 -0
  247. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  248. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OIOjGye-6IX32OhiDKgjIYJVVJIYL4YwWqXRQ1OuqOc.cache +0 -0
  249. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OIRj9DmXbwJfdvq3ZcPBfKDaXvzgzLCMmr-WVYOGjqA.cache +1 -0
  250. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OR/ORoV6obevLekkwRkLgC6L86OJ0Hjc_fpHBW0z60lc5s.cache +4 -0
  251. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Od/OdsK_qqQmrZKTVMCDz3AplqVUzYA5IM19_-qOojJBOs.cache +2 -0
  252. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Oe/OeE1-fbXi1sTigNTlRhpnn5FVeZ2ZGGJRm9VXsbdlqM.cache +1 -0
  253. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PA/PA8AAiF1X93v5x_Ng7P9_PhpcJ7PHU8iYqlRO27kIdo.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PO/POCKZGPBJr9661YN7ByNBsEddLYmt0Z7bAd82H3PwvA.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pi/Pi3Gagdd4crGUlbMg7JotJdph56agNF9f1mpZ_1zHXk.cache +1 -0
  256. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pi/Pi4wp9ATng9qVjCiPosZnE69hsj5FrdIxtV2-wYcbXg.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pl/PlgdDzT3L-fX8DaDVuQ_At7zZykia94W7YEMfq6h7TE.cache +1 -0
  258. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pm/Pmazs6NeGR5UPAoGWZRMbrHPHNDFtOPI3T6NZ2fxBE0.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pv/PvLeNwiihL7rwWXxI8FEftbWxeLSI9afkpyENaTG59Q.cache +0 -0
  260. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Py/PyVDfQbq1TjIvxpdIkpf5g--7_VZLZ5qBkbWo4vVhWc.cache +0 -0
  261. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QB/QBGJ7zMlylmAgUKfrM9Dxuk7XJDKRYImcNS747eZwko.cache +1 -0
  262. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QE/QE-jnb1fHSfnQk20hkCGzeL5eUIm8hPw6n4YSH-gtDc.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qa/QazUodDbBO086k_a3nmyi_xN2PsQAEh5lnT_6nzlDWk.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qw/QwohFtENHOM2ECLCFvikh4lSrlOvsS3WRcBLIHSkeSs.cache +0 -0
  265. data/test/dummy/tmp/cache/assets/sprockets/v3.0/R5/R5WyetYDFOD2B6uqV1_JlTWm8HXlU48uPtoVYuoaI0o.cache +1 -0
  266. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RB/RBs59Tbwcium1lGEm-v8YEgRMThgSl6iRKQVpMrt1tc.cache +0 -0
  267. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RP/RPEPkpOFGpjwBtvkLKSOXpShVDnrIN0FBDt6UD3C6Jg.cache +0 -0
  268. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rx/Rxv7EbPk0KwnKCSvALi_qLY_5wuyFFTrk3xHPivK-aY.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SB/SBPkES1IlI0ZYVrLG7nEylMTj1RaLVrzTKjgJblZjQs.cache +0 -0
  270. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SX/SXp948xK_TB2XSdmR4nNeXdDosSyG_YZyQbYAiH-RBo.cache +0 -0
  271. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sf/Sfp5w1kmceKSYDbafC_awVmnglAp-dtOTG_SjYMcXYw.cache +1 -0
  272. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sp/Spmg72Eg1VjPdUYjJ6YXv6sflkt2DVyoYP1sht4Q500.cache +1 -0
  273. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sy/SyJ5wy7kQNtQUg4G3DZfBUGDDH3gk-v08GAer8ZsRso.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/sprockets/v3.0/T4/T4ORczRkDrhuBWGQmVZj1yBUeLpQFzWeJn62RzSwYj4.cache +0 -0
  275. data/test/dummy/tmp/cache/assets/sprockets/v3.0/T6/T67sWTjbILwfDxKMSJF8nkQqiuTvwn33-6g5tJDTxXU.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TF/TF_Cf65DP61omOgFx4_1Z_gjegnOc-Jxh2fbZZUPEv0.cache +0 -0
  277. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tm/Tmi--tHSWkYldb7lAbqHL1oWH4A41KQEjAFS_anBdV0.cache +0 -0
  278. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UH/UHqPCBguDEAEa2R9eB7E8jVPmDFY3NX9l8DBF83cs8A.cache +1 -0
  279. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UO/UOPiJalIWr-5wReACpJ743bHJPh9UHPsdYGdqgeUfAg.cache +1 -0
  280. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UR/UR65aWCYY-YV6f5xcfHz8Y6b9v0gYdAjZlGqYZBM3IY.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/sprockets/v3.0/US/USPM3OBXObJarMMz1racv8jGRBaSQBSoXLTuqdOlgFY.cache +0 -0
  282. data/test/dummy/tmp/cache/assets/sprockets/v3.0/US/USjLlrTdFeYjjf07-frsW8poAodfVDcefnPaYKy_XCY.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ue/UeKHFj-oWEcki87YQFThEiJL19XGaUQau1W6lrAQyYM.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ui/UiOqBdJcdEwWVezjPd-76TrJSGwFz89GJ84c5Hkj9-Q.cache +1 -0
  285. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uk/UkDIfwzRMf4MnoLuRZ0drPLehJKFsejBzuUSmkeeabA.cache +0 -0
  286. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uy/UyO_4Gm5-3t8-0z2u6WIgihsLwa0zniCYRkyfqmwmhE.cache +0 -0
  287. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VD/VDL7_Szd8PzSmDcr4exJc2hOh9ThfOryaXMHSYuSTo0.cache +1 -0
  288. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VH/VHWS2u88JJsIond30G_8k_PmsviF3kZtsEP9rOAQnn4.cache +0 -0
  289. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vq/VqW21G_Qe-J6i4P5prw4yy7wHi0zzk3UV1uP8yqOLEg.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vw/VwTsxGab_IDtXS0jvIbl0hzCtdqbtxzx1vHtb0FcCIg.cache +1 -0
  291. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WM/WMIFjbNGjVoJiWCwJ4akFP7rGExKJqGeQkrXj0V7aMw.cache +0 -0
  292. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WR/WRDlyIp5ATFOwKbRoNT_5c01EUjlZ_MPP3lJ4X1389o.cache +0 -0
  293. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wt/Wt9U8x96cC0_K89VUNKvuvGI8LOgyyaXWEASz2wlfCg.cache +1 -0
  294. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wt/WtGOyP8ocT3agK-HHJVRlarOU_pwELFIgfkgs0_aMKI.cache +0 -0
  295. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XQ/XQyq-uQV9CPqGmz8ZmJoCL6AXoHWnda7GrTOY8nnjQc.cache +0 -0
  296. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xr/Xrs6vr5oyYcZlaWw_8LNV6l-mv-RM10MBWdzmyt29q0.cache +0 -0
  297. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xw/XwOKuFU1VKQwgUQN5aaZ813miM-QZ6q8OCByeLWHnDM.cache +0 -0
  298. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y7/Y7titeryp_FSLvKL1VfNth0YWf1a02aQKM5SB0g3RoI.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YY/YYChdQDpz56xC4DgwGNggmGDKCCaQ6sR1sNf7zNQN30.cache +2 -0
  300. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yg/YgC_z2byyYQ7Vgrf3EWaLRBnM1BTqr8luRS8u-Aeph0.cache +0 -0
  301. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yq/Yqm7_mhdOmEPRpFZQOhvsNnAv2hexScLS4_Ucd2XKuk.cache +1 -0
  302. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yv/YvAdBCQMYerxZpr94-VwyeBCx-m8RtUTPlxqweu9aws.cache +0 -0
  303. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z3/Z34iW436AzkZ5LVOJK8S9_dHGVHE_IxvW5cV_9A2VFo.cache +1 -0
  304. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZA/ZAuAzZU7q3LBfgoso439peUxDL1EtsGqO458k0SWYA8.cache +0 -0
  305. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZL/ZLCZ2y2m1zTRUcowbeQAexZEHAxs3yO4otcYnJ1fWo0.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZS/ZSyIjBBIW-x8xE-AT41Z2RhB9lkHc9ShUW712no6D3I.cache +0 -0
  307. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZX/ZXkNasXN6xqIYfqlQe3B26iUxkaabeZDBZH1Usn33Es.cache +0 -0
  308. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zd/ZdX6vFt1o-W153PucMXK6W-GRanJaaBOmR7X3IFZ6NA.cache +0 -0
  309. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zf/Zf6bkcL13-g7w029OS4HxZ7QG24U_qnipyg1Ke-NmKk.cache +0 -0
  310. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zk/Zk9PL9XcDHomDlSAAlON7ZgGL0vWUZ_O1xk5DaPcvfo.cache +0 -0
  311. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zl/Zl2fOl_j7rDU31NscZY9eHzuafsuIk6A2jlhbRKMjHA.cache +1 -0
  312. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_6/_6Z3o-I-kC6zJVzYGBg6e7OPa-jcBekAOpwRy8k2-9U.cache +1 -0
  313. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_7/_7hHeuVDuVND7YqIxwwev3losdxdpMsyw3Pwdszel-U.cache +0 -0
  314. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_A/_A2agN27ZtIhUzH4GnpFKUck8K_FHRsmFsmTnNgAvls.cache +0 -0
  315. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_H/_HYBRsZYtBmAserSVyOTEYe7RB8DZaMBE2WAUzB5jEk.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_k/_k8DVkvP0WZjn34iMInYqGcO9SHHj-oMttuhXX_RKD0.cache +0 -0
  317. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_r/_rMU_MJB4TzoXLXk8-J7iBeeu5zra-5rMUavNWQPwVM.cache +0 -0
  318. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_u/_uDa-wVcI_PWzMmEFnMsogk9WJku_RP6ygytUYI-qQs.cache +1 -0
  319. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_v/_vqH126yF8wGnLOdle3o0618GwqCsUq4tZwZ24nYELs.cache +0 -0
  320. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aC/aCy2Hk7GOJHyX_YeX7Ysq3R-P7HcT37doz0C9p40nV8.cache +0 -0
  321. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aT/aTcvvtUPScLJqVDzIWx5qKKdhGWP2po3eczv1kdTDxQ.cache +1 -0
  322. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ae/aevFo3NmfznN3LG6yZ_3TcuLjRDvDNwf0JgZsBDnNYs.cache +1 -0
  323. data/test/dummy/tmp/cache/assets/sprockets/v3.0/az/azJzeUbWTCWWFuHbVeHmy029yxcuVB_jCrELbrffJqI.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/sprockets/v3.0/b6/b6h7oclGW3HFHmO8g3XDUWFi5HqtsurZ8nUdC2rx7pM.cache +1 -0
  325. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bH/bHAPqm4H_iVBv-_qgdkAlcMvzslKmmJV6hhtF-nghV8.cache +1 -0
  326. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bR/bR_tD3zgw5Quh8JTt2NI97_IqkVJRRCuJJ3tUK8Yg8g.cache +4 -0
  327. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bh/bhfbMZaDx46KFHPPSC1aMMSBfmtdSDXXs5tsvo062lM.cache +2 -0
  328. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bj/bjUCaPRSr4cy7LUw5SG4UCP4juUB7KKEIvhv53yOgPA.cache +1 -0
  329. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bm/bm4azkF-FKEHqBMH_5sUVongXMjbWMdyBWo21THgoFI.cache +0 -0
  330. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c4/c4bWsJ0T0wOQrhg9LX8s4ojRWgfJCJL52nfd5ZPexuw.cache +1 -0
  331. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c8/c8Pt2KcDT5LM48WRBpMLhGkIGVuXeFRHzgwxGR04YzM.cache +1 -0
  332. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cX/cXIl7kyaurBUGWSCTxSRaLTmO5y3RFMjMJtMXGJSzDk.cache +0 -0
  333. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cc/cc0D1uO9B6LtdXOOzJ2ZgB1SysaoNcXL1jqg6mj5FpQ.cache +1 -0
  334. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ct/ctPJwIB7zwTJO9GK5Zt_oDOcHF1tCJxKO5o2ZOUDa8Q.cache +0 -0
  335. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d5/d5XtVLjStTWZWcCsXO4HAu5TOAb3Fo_Mc0T5E4lbHA8.cache +0 -0
  336. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dE/dEnRVUiFKUsacNXNlh6fi8rP0bnYrSANQKZ5YXprWqo.cache +0 -0
  337. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dG/dGswfXCdlYdXK5yCK8YB4b4xfYht37KgK5vX3vGGvhA.cache +0 -0
  338. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dL/dLSUXQD6gXaZ5EHn5ifb50sl0lmccRVs8oRwXUIXTz0.cache +1 -0
  339. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dP/dPOAJfsyeF8GppnWBZ5IHeiHXNsQ_uJBYZuBAgY8cCo.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dR/dRXLnULUonwylRHmge0_2WG3Y0l2UtaCDBqcW_hjTYI.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dc/dcJPBu1HspV0P-4iFU-C0FWZ6PwmIL5iPsSIXI1VPmQ.cache +0 -0
  342. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dz/dzPPJRStGEbcsz5_BVLuGv5HTVDh8uU70KZMx6ZC8kA.cache +1 -0
  343. data/test/dummy/tmp/cache/assets/sprockets/v3.0/e2/e2FQPZ_0SjJMGqTKCOFcDdic0Tsmn9VetmkRVjFxlXs.cache +0 -0
  344. data/test/dummy/tmp/cache/assets/sprockets/v3.0/e3/e3peH0uuiTMR3l0vGEGVy6eopTrKr7cEZaODzViL_Tw.cache +4 -0
  345. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eQ/eQGlD0WwS54gaIAIKhKVVhCKgQLo1VUZScpBEUElGpo.cache +0 -0
  346. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eS/eSOAoDAfdhJUa5juQWcaF4zo0GESCTBX7DEJ94KOFG0.cache +1 -0
  347. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eV/eVmkveaTdpbQNs8VUelpuNrJO5IIeiAXpFyyNDsziDg.cache +0 -0
  348. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ej/ejFcC00llnlXmTxO5duIiubM187BKsshyDVSlFv5bsw.cache +1 -0
  349. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ej/ejPJ_fafJGf8DJR3u0MUqgVMAwWCw7Xz-aNLR5sxojc.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/sprockets/v3.0/es/es_TbuJ7PaHb-RYfZyEmtt8v-GUvB_53aIB3HkMwiIc.cache +1 -0
  351. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ev/evIQV8y8HBjelsgbXA0ozrIBMpipA4Tybl8a7aK_OiA.cache +1 -0
  352. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fI/fIBUbgJWMIIQSasWSzCCVHtpn0Xcow9xFU0A-2Qz_JY.cache +1 -0
  353. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fK/fKOTm0xz5oo807rTo4uVM5Yxw6RalwGQjKzzn6-8Pco.cache +2 -0
  354. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fQ/fQ1wSY8tXudYVJC_2cX4T_LdAWRTJVg2CMiVaXSzqpU.cache +0 -0
  355. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fa/fal9cTKjHBq1vSbu9b_CahI80Sk6QoOSwSvhhz7WI9U.cache +1 -0
  356. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fc/fc3m_alIoVWaIGeBHaaMId90-dMyQjGVrhSt-XHp2kA.cache +0 -0
  357. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fd/fd_3goL1yijab7-VyKjAAPam1YQX4q-zabzWomhuvwQ.cache +1 -0
  358. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fm/fm4F2DnmcrusC4rq-E3l5zhH3rJG0eZ4s1XexA0un1Y.cache +1 -0
  359. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fn/fnlvQJr3TbATMP95QzYRNwfMbgCzQpBnjmt9K7Qu3pQ.cache +0 -0
  360. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fs/fsXJclfKBgiSUvpdET1h4BA2ddZTMb5-2xMGzfevFz4.cache +0 -0
  361. data/test/dummy/tmp/cache/assets/sprockets/v3.0/g-/g-DzKZYNU8px7txrjTKh2_55DSxiy8K7o0uprIpKUvE.cache +0 -0
  362. data/test/dummy/tmp/cache/assets/sprockets/v3.0/g0/g0VmHeVabmGEdl6FDjiGYM7VL_VX4qBTIF0i3qV27OQ.cache +1 -0
  363. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gz/gzwG_G1-sNVN_-0clTs2bo7EfBkjaLyKFpLcjI_H9Ug.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/sprockets/v3.0/h3/h30-CnQ4AbAUAphvknid6M9R1nULl1F51mBwuIJAY5M.cache +1 -0
  365. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hS/hSHzVatHl3Huvik73_q-3Fmp664Hqvnqi08KnOrCCGQ.cache +1 -0
  366. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hX/hXkyjuA2VfoK_e_zfSMI_T3sQH1I0m-_F-CHccO18kw.cache +2 -0
  367. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  368. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hl/hl93BE8gTy_oKR_8uJSvC-mjCehUWGoagDXc2tbvpok.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hn/hnFk6FgKQjbTmnjtXhIpwBqnR-bAPrU9mQc2fE9r7Yo.cache +0 -0
  370. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hp/hpDTps2QCDqf1OJqX-Surt2NlfDl2GSsS0FlHSsd1Io.cache +0 -0
  371. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hw/hwwwKnJPjEme01vZ4IGcfNoHroaoBA8mzzmncxdl0tQ.cache +1 -0
  372. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i2/i2hl-k_xpesT9bXTcRfEsDxywipmgIfnwb7QsfXtJL8.cache +0 -0
  373. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iM/iMbtAcXrYofoDnWj3StRQOMS2DIjFv6l65yCX14GQ2g.cache +1 -0
  374. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iS/iSqVZECnqIaQ5OFrPGUJK_jBfIlOkW2K10o2oRRxyGQ.cache +0 -0
  375. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iZ/iZS_xEurCMtMlvJohgs5u0AEqcbGtz1ToNRpBPXFdzA.cache +0 -0
  376. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ic/icGClNgl3ntlexRXnGKxcZTAg2MNY3dlqo7OBLEzsfY.cache +0 -0
  377. data/test/dummy/tmp/cache/assets/sprockets/v3.0/id/idc_N3hh-FdBtj-0tNzFdY1_FFmij4ugPE8QTdCjL9E.cache +0 -0
  378. data/test/dummy/tmp/cache/assets/sprockets/v3.0/im/imMACZydNORUlirctUTX7COofs6fkOb1eJVh6bXfseE.cache +4 -0
  379. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ix/ixkPvj54mhdDnmD5d68VYDwOu211m3FbniEVqzvnxRs.cache +0 -0
  380. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j0/j0jLU-n1mopUd_sgxJ07vBlOdyxQIDbsMcbpfl6UGeY.cache +0 -0
  381. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jA/jA0T6DZFHf35HbVJ0hsVuEZo0U0guEjluc_1ClQPXH0.cache +1 -0
  382. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jH/jHEldP_SgVw-xyGyJXpgJrRWmDChksjfaTBnxTDkQvs.cache +0 -0
  383. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jN/jNjtXatGgXAE16q_sLQqqeT4a0i3lTA9QW4Y7YzgCC0.cache +1 -0
  384. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jV/jVwJ_pmUGbnxmkimw1BAOVSjhTVdd1j6kJSkhe3cnSQ.cache +1 -0
  385. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j_/j_7KtO1TnaWtmAukcVNiE4zzBNNBW1nJW-wfKdvZKSo.cache +1 -0
  386. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jg/jg-5ilOZ-hza5z_CkM2vxCt2j7wh_Qzni2gKwNGttMY.cache +1 -0
  387. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jt/jtHWXTPj_CRSqJRduOWA98CEKvZYPGBYsWviLwYBbEg.cache +1 -0
  388. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jy/jyV15KDAIc3jkQMQsNzcRv0JhsUYqmw6JGZuGJNTFoM.cache +0 -0
  389. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kG/kGnYvmgltHWerDrKlB6NMy52uGDtVH_9AJhZBMcyda0.cache +1 -0
  390. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kk/kkvJ59QBgdmtmKfhwJ4qImcE1dUCDLD0RQBspF8Zluo.cache +0 -0
  391. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kx/kxznfHVNfMZCDSYKIdGdSZ7KGCYak6EFU2wkKpbYwXo.cache +0 -0
  392. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l6/l6gFWduRtz1m8hOEpy2raCay3KAfN9Yf3MrerASsLd4.cache +2 -0
  393. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l7/l7OQkzNytchk7bYgutTTvesFE8FjKrNeRJmWsKSgB-4.cache +0 -0
  394. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lD/lDv8VTsV8QjNxeC3C7mdnCCJPIo0n2kUatu79i65Zfo.cache +1 -0
  395. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lF/lFkQ0PiEjLHG8ZnICmfXB3hQ8Myy0rO4gPsd6-LhDcM.cache +1 -0
  396. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lo/loaaTV-828dx-_t0p82uJtov9uwwVr_inpxpnFWijo4.cache +0 -0
  397. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lt/lt_Il2gnezo5eNTJyr1raWKlTQXLUZ2_CBLzfuzwAjk.cache +0 -0
  398. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ly/lyJmJ70Hz6lxcUDu6VDbjyYN59IGeNzYKwQt4wqJ65E.cache +1 -0
  399. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lz/lzur8poSctIUhDIJRoqUHszHYNUQ5PhS7XWPBr-bsW0.cache +0 -0
  400. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m9/m916ksNYqgK0RWJHUQJA0EqBtx6a6bhzGLoD8Oj80u4.cache +1 -0
  401. data/test/dummy/tmp/cache/assets/sprockets/v3.0/me/me9edXAR9JOcKGhR8vnqHyFfOKJ7k2zGPiqSD8ofak0.cache +1 -0
  402. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ms/msJ-k6Dla_K9JvvJgFv4YEVH1L2F5fHNWyudv1ss6aY.cache +1 -0
  403. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mt/mtTeynjbYObzQ8vM4FH5RXHEkwhNEBPu1HNP5n56hKg.cache +0 -0
  404. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nT/nTMrNb6KAxZFFcxYMfSoKDQuLLU4DbnG-Q2IMBn4iic.cache +0 -0
  405. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nU/nUVgFb1i3zliiAmeBcYSJhIBv6Bz5d1kxFezhqnY31c.cache +1 -0
  406. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ni/nipX2Xdusq8KWLZZGpLm0N3CmpqN19RvLQC-JOtaj2Q.cache +0 -0
  407. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ni/nir_AAhCVuZT67klxwHUOX34ytBSdkR5MeKSsjw3eps.cache +1 -0
  408. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ni/nisCO33YJ-DR0y8R_8XoRhTDSphAKq1msoC-Vf0hLg4.cache +1 -0
  409. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nj/nj-frPpkXzIBHuHsGUXjp28-TTdPYW5ndnn4aGc6AGk.cache +1 -0
  410. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nk/nkBQZ19zNOdfWbk5FyOdLJPbrGVGMxW5Ji7W_F4_SJQ.cache +1 -0
  411. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nm/nmCpkQS_QWEUCNdrvPapJtORGLZr8tzAFcc3SzfzVdQ.cache +0 -0
  412. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o1/o18Ryez2gIk5uXTq3hIp8uJEBXu_8YRMZPoIzD-6AAM.cache +1 -0
  413. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o1/o1Fk5ujIjIZ05he-LKHsrBKfGt-KVGMamCBxUCXGIas.cache +0 -0
  414. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oN/oNhEFrq7eBubgMHqPUvLq8rso1IfuaZX3h8a3E7ZycM.cache +1 -0
  415. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oP/oP5zZWF3zsUY7EU5DZqc7IKnbpXm5ixWY8pw10FhynA.cache +2 -0
  416. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oW/oWVPiRL9tAnudWqX0jP9D5d6OTUk6DOXdMN7JS7FRdw.cache +0 -0
  417. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oi/oixnX5WERx-f0S__Ma-IhKRg9Z4UglmkMvpMy1qVCIM.cache +1 -0
  418. data/test/dummy/tmp/cache/assets/sprockets/v3.0/op/op8fpGWkaVsPrV_F5Rq5-_VlHCeFOXtTbzPvzOocjD0.cache +0 -0
  419. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ov/ov7yNuSUPKs_M7p3COGraz-PF_DbWz3cxX32MZDW2dc.cache +1 -0
  420. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ov/ovKSsPhxW8w_v7t5s3mEeBONCy8iH9khwOVv0pU4rdE.cache +0 -0
  421. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ox/oxtyXVGZoa1O-cICPZ7dLDvC3u08WabyOUkAN32ssWE.cache +1 -0
  422. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p0/p0vWto51k9t5bnT67f5cw2WN2WweN46-nArF9LUeWxQ.cache +1 -0
  423. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  424. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pF/pF2xo9xQibUrKXz7PNuQu2mHW6vKzKCAtSVIRbpm8C4.cache +1 -0
  425. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pI/pI0fgaIf_zwkl-9-mLC_SeN2m4Xizzp1W1ZfizvGhHU.cache +1 -0
  426. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pl/pltMNk51kCwaPlqFa7aK2Z1jtLLi-8JOw1b7egfavB8.cache +1 -0
  427. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ps/pss2152e3e98slfiFJIEmvM6BTlFR33fRTzOSgZ5ywU.cache +0 -0
  428. data/test/dummy/tmp/cache/assets/sprockets/v3.0/q8/q86uel279tao5P0t5d6hEma0KGf50RYzztx7k-mGJn4.cache +1 -0
  429. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qF/qFF902qQrw2LQUDARfQ95fz2S3TsC-Fo-AK6wgMr4uo.cache +0 -0
  430. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qJ/qJGSZjFx5nAoZU2LmvGyvA284LKSMt0GVuKsvZ_Zxbo.cache +0 -0
  431. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qP/qPdCnlO405h_Ws8oX_W5DKUhyEiVj8ekIGspaDBiN-U.cache +0 -0
  432. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qR/qRcv9T6NPmakkuJR8S8ceMYgn-iC7Ykq3DEKwMrvQ-4.cache +1 -0
  433. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r6/r6D22-QSEVfh1elsrEUIVuF3u-BKH_lk6leRvS2XPdI.cache +1 -0
  434. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r7/r742R2oEUnjIZV9A7coBeSQemd9wFwCX9gWoTKjvnv0.cache +1 -0
  435. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rQ/rQZTK9JUQjCKOZyl-d7k_2UJd4lIo62t_kS-IwbXScQ.cache +1 -0
  436. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r_/r_i-poFJcx6EMH-jyHcQboJRtWPEUs_iL7F7NfYxk2g.cache +0 -0
  437. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ra/rafYB7BfC8S1pFt1ifQrWUVkt47XRAnNXttdHLbAT_k.cache +1 -0
  438. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rl/rlQYr0tmy2rbQhGt7ibwqZdjYn1Gl6JZI00qhv6z9hA.cache +0 -0
  439. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s5/s5SaUvIDtablB5xeJAWS19YllbftAdzqwi-GLf8E7T8.cache +0 -0
  440. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s6/s6gtxJbRL10sgK2zKdJXdN-Ek7KB9KgiC8pPDAayHBQ.cache +1 -0
  441. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sI/sI3KEcrrV8s92i1HpZPqpGrOtyyN8ldPSamxWZ0Qdak.cache +1 -0
  442. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sM/sMFOMHiLt5m7goRjcDwS13bC-zZqJ3wULYmlvxuyM9I.cache +1 -0
  443. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sU/sUVaQ9HugzQ5Hx7xQNbN4yP-J4cr1KJ7GTnkqT2d8uk.cache +1 -0
  444. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sZ/sZnBgLQeC27m15QvEAXbloikoNWzddEDaPmr-lKOgkI.cache +0 -0
  445. data/test/dummy/tmp/cache/assets/sprockets/v3.0/si/si-4z5KexIjFjYuqH_Yz3fLONaUBRtFrFUVN6zy16Es.cache +0 -0
  446. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sr/srtX18E81WBmTV4cjOzMoyKxP9LRBEOcVsTjJM5Pwrg.cache +0 -0
  447. data/test/dummy/tmp/cache/assets/sprockets/v3.0/st/st1788tIY_Naize_TalkSeNPSUmHpWn3UX3IkYh4Eb4.cache +1 -0
  448. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sv/svtrb8U8HcnPeRqEWgmTlPoNyfvEyVpK17aiHvDhWyE.cache +1 -0
  449. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sx/sxHZwwsXsQHYG5LUfQ4x2rIyxwYe74KQ9AugSeUDzzE.cache +0 -0
  450. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t-/t-nKszWydLQex7rYgOXejEAJIKfNSGiMXoSQ5-8BjYc.cache +1 -0
  451. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tF/tF1MjGbbRLDDz9207OyceqxQHvdzf9ANadsFuSMzMFc.cache +0 -0
  452. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tm/tmHA_f2vg3xGaX9vbYch03U9Ru2ZrYuH6EfM1Oo3p2c.cache +0 -0
  453. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uX/uXHu1j-3uOkbRGmJtVix_Ff-ccnhMi498CLShZlUUpA.cache +1 -0
  454. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uc/uc8aNVobwrNxhdjyhr8l9EfrcRC80aMKuLFuyECuPFA.cache +1 -0
  455. data/test/dummy/tmp/cache/assets/sprockets/v3.0/up/upOjGtFRi3ICAfKf2NvPfPoPLSTZCK2JtYq81AHYxX0.cache +1 -0
  456. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uu/uu3gKPMvdqBfzVl0K4thb0KWtTq3lAEzCz_Y6Fhgx70.cache +1 -0
  457. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v9/v97nzsSKsYea3uZ0M6bxAhDW2LGQKUNL5zB3-JJfBf4.cache +1 -0
  458. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vQ/vQgAjvNr_feNXlJrEznq8Dj2-20QeaIH0OktuV8vPrI.cache +0 -0
  459. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vk/vk-yEq28UDM7hqhSKtHAXZX2qnUZHrv4xCu1H3Hv9b8.cache +0 -0
  460. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vr/vrbhDLBEdxNctR4GeI_6qXrmCcoddh4pWy0uYjZXkVg.cache +1 -0
  461. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vw/vwgONuryOxkXZcQetbnnNgbo7FSVlgt_Hqr-oM2TE0U.cache +0 -0
  462. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wS/wSN2ZtMLsxSL6Dkahc1ZwZQVKyJzCHHYHhkV20xCMu8.cache +1 -0
  463. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wo/woYCH6WspNF7vxO1S5MhRRTSBxKsQbOCx6zaEAzWD88.cache +0 -0
  464. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wo/woiCCOdJdP-_dTvanOghZpR9_wZohfQs_MsIQ5bfLOM.cache +0 -0
  465. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wp/wpDjC-4A8sVSd7NDyEwbQK833mXADN89e_4VBpjBGd4.cache +1 -0
  466. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wr/wrVo07uP9SAJYrL4uwAKd2As77H7PgmbRYwqtrBTO08.cache +1 -0
  467. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ww/wwEzJr_xf0ci2mqw_XSzZmIQpJvQN5zcSHybubzBDww.cache +0 -0
  468. data/test/dummy/tmp/cache/assets/sprockets/v3.0/x2/x2IHehe_gBb_fk5LRtfi99cZ78VEnXdip43J5Wq7uQQ.cache +0 -0
  469. data/test/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7NsmnxTDQIGaO_3c5-aYjdvXzLvwXsgtGXLGd4_FXw.cache +0 -0
  470. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xA/xAAzQsrnEG4kiINT10L0PPkDwg1uFJhyH7otw3QMDjE.cache +1 -0
  471. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xA/xA_18IvFPnhPg0IeD-AU642PkZApOC6ZtkXkrs9PIHI.cache +0 -0
  472. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xB/xBFuOuuomRsZKZKb01buuDj-zEw7zB4x5KRG3tQ4tDI.cache +1 -0
  473. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xD/xD_eYq0dqwf2Qo1Sjg3TMpEENaJzzIxwRUZEVCgjdK8.cache +0 -0
  474. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xG/xGKF2FHOV7funLYbn4Fk9pS5lN-8vZe1o70u5YgzBes.cache +1 -0
  475. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xQ/xQquG8acFW0ffG-mKH7XyzKGvWB_OkeA6pRpqVmlgis.cache +0 -0
  476. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xc/xcvMMjAm60ntxxAOflflJoT_TB_-fNRmhOUzXwmgqo8.cache +1 -0
  477. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xs/xsNaF1ExOUS_B7nrm0GytB-LgVbfDPbua8boocz_WBc.cache +1 -0
  478. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xu/xuIMx-fsH37-NIAT5YU5C-XQSLsQA8iz1PUCGnU876U.cache +1 -0
  479. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xx/xxIsEK7pSAOwDkivd32A_JcyS2_-MMdVkhFUAKFSvwY.cache +0 -0
  480. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ye/ye6ahFx70vr4IrjXSFnoSo8TxXQT-WVFNKa2D5Zy3Dg.cache +1 -0
  481. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zB/zBX1l0Twye8fbeTl8EbjELzyUK1y1NKngVa6fCttyXU.cache +1 -0
  482. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zE/zEknbUrkhbEDAA25p7e5o5lkNW8GxfIwmi2987CDR-c.cache +0 -0
  483. data/test/dummy/tmp/cache/assets/sprockets/v3.0/za/zazcVfJ8LCckQNrY2ZGiySu91rNfiz421g-7VGiQ7f8.cache +1 -0
  484. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zj/zjzCwS7WV_khBlIWYyTJVwSRnO4wJEccptl0bXeNkJw.cache +1 -0
  485. data/test/fixtures/cally/invitations.yml +15 -0
  486. data/test/fixtures/cally/users.yml +28 -0
  487. data/test/integration/cally/create_invitation_test.rb +54 -0
  488. data/test/integration/cally/create_user_test.rb +83 -0
  489. data/test/integration/cally/delete_invitation_test.rb +44 -0
  490. data/test/integration/cally/delete_user_test.rb +44 -0
  491. data/test/integration/cally/edit_user_test.rb +59 -0
  492. data/test/integration/cally/index_invitations_test.rb +36 -0
  493. data/test/integration/cally/login_logout_test.rb +51 -0
  494. data/test/integration/cally/reset_password_test.rb +90 -0
  495. data/test/integration/cally/send_invitation_test.rb +45 -0
  496. data/test/integration/cally/show_all_users_test.rb +30 -0
  497. data/test/integration/cally/show_user_profile_test.rb +31 -0
  498. data/test/integration/cally/toggle_admin_rights_test.rb +52 -0
  499. data/test/integration/navigation_test.rb +8 -0
  500. data/test/models/cally/invitation_test.rb +33 -0
  501. data/test/models/cally/user_test.rb +82 -0
  502. data/test/test_helper.rb +27 -0
  503. metadata +1137 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ea3713da526bd3aa766ea4354a94e4a7e726ad4db4cf8f37959bf5f9d36662f2
4
+ data.tar.gz: f93c6f2fd31588196b592f585682ee9f43db427f97199e67a480187186d15cb8
5
+ SHA512:
6
+ metadata.gz: 780602b289e328ab5d996161b216b9ed376917d20e98db42d20dd3b4f519b8d1906f9665e250cd64babaa47d355f99cb41df9c071ae00b524924b4bd0392336f
7
+ data.tar.gz: 1ab3e02f3c63cc1f5afb1ba8e9256dfb951e14a411405939894281f0fd27ac7d90e55688b8d01eaaa925d8c9604feae0c332350abd269db03a63be8825780c78
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2017 Gwen De Brul
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = Cally
2
+
3
+ This project rocks and uses MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Cally'
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,38 @@
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/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require_tree .
16
+ //= require bootstrap-sprockets
17
+
18
+ $(document).ready( function () {
19
+
20
+ $('.password-check').change(function () {
21
+ if (this.value == $('.password').val()) {
22
+ $(this).parent().removeClass('has-error');
23
+ $(this).parent().addClass('has-success');
24
+ $('.submit-btn').removeAttr('disabled');
25
+ } else {
26
+ $(this).parent().addClass('has-error');
27
+ $('.submit-btn').attr({'disabled':'disabled'});
28
+ }
29
+ });
30
+
31
+ // this bit checks if the edit_page is rendered, if so by default disable the password check
32
+ edit_page = $('#edit_page').hasClass('edit_page');
33
+ if (edit_page) {
34
+ $(this).parent().removeClass('has-error');
35
+ $(this).parent().addClass('has-success');
36
+ $('.submit-btn').removeAttr('disabled');
37
+ }
38
+ });
@@ -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,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,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,7 @@
1
+ // index-item contains the styling for showing items on the index pages of users and invitations
2
+ @mixin index-item {
3
+ margin-top: 10px;
4
+ padding: 10px;
5
+ border-top: 1px solid $color-gray-iron;
6
+ border-bottom: 1px solid $color-gray-iron;
7
+ }
@@ -0,0 +1,8 @@
1
+ @import "bootstrap-sprockets";
2
+ @import "bootstrap";
3
+
4
+ /* colors are taken from http://www.flatuicolorpicker.com/ */
5
+ $color-gray-iron: #DADFE1; /* Iron */
6
+ $color-gray-lynch: #6C7A89; /* Lynch */
7
+ $color-green-turqoise: #36D7B7; /* Turqoise */
8
+ $color-orange-crusta: #F2784B; /* Crusta */
@@ -0,0 +1,16 @@
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
+ */
16
+ @import "main";
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,88 @@
1
+ @import "variables";
2
+ @import "mixins";
3
+
4
+ // global styling
5
+ .centered {
6
+ text-align: center;
7
+ }
8
+
9
+ h1 {
10
+ color: $color-gray-lynch;
11
+ }
12
+
13
+ .padded-mobile {
14
+ padding: 0px 5px;
15
+ }
16
+
17
+ .alert-error {
18
+ background-color: $state-danger-bg;
19
+ color: $state-danger-text;
20
+ }
21
+
22
+ .form-group-padding {
23
+ padding: 5px;
24
+ }
25
+
26
+ // ask security question for resetting password styling
27
+ .security-question {
28
+ color: $color-orange-crusta;
29
+ }
30
+
31
+ // Menu bar styling
32
+ #menu-bar {
33
+ background-color: $color-gray-iron;
34
+ }
35
+ #menu-bar a {
36
+ color: $color-gray-lynch;
37
+ }
38
+ #menu-bar a.active, #menu-bar a:hover {
39
+ color: $color-green-turqoise;
40
+ }
41
+
42
+ // user show page styling
43
+ .user-show-info {
44
+ padding: 10px 0px;
45
+ color: $color-gray-lynch;
46
+ }
47
+
48
+ // All users page styling
49
+ .admin {
50
+ border-left: 5px solid $color-green-turqoise;
51
+ }
52
+
53
+ .user-overview {
54
+ @include index-item;
55
+ }
56
+
57
+ // All pending invitations styling
58
+ .invitation-overview {
59
+ @include index-item;
60
+ }
61
+
62
+ // custom pagination styling
63
+ .custom-pagination {
64
+ margin-top: 10px;
65
+ }
66
+
67
+ .custom-pagination ul em.current {
68
+ //opacity: 0.2;
69
+ background-color: $color-gray-lynch;
70
+ color: #ffffff;
71
+ }
72
+
73
+ .custom-pagination ul a, .custom-pagination ul em {
74
+ display: inline;
75
+ padding: 5px;
76
+ }
77
+
78
+ .custom-pagination ul a {
79
+ color: $color-gray-lynch;
80
+ }
81
+
82
+ .custom-pagination ul {
83
+ list-style: none;
84
+ }
85
+
86
+ .custom-pagination .previous_page, .custom-pagination .next_page {
87
+ display: none;
88
+ }
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,9 @@
1
+ module Cally
2
+ class ApplicationController < ActionController::Base
3
+ protect_from_forgery with: :exception, prepend: true
4
+ #protect_from_forgery prepend: true
5
+
6
+ include ApplicationHelper
7
+ include Methods
8
+ end
9
+ end
@@ -0,0 +1,122 @@
1
+ require_dependency "cally/application_controller"
2
+
3
+ module Cally
4
+ class InvitationsController < ApplicationController
5
+
6
+ require 'omw_random_string'
7
+ require 'omw_mailgun'
8
+
9
+ before_action :is_invitation_only?, only: [:new, :create]
10
+ before_action :invitation_params, only: [:create]
11
+ before_action :logged_in_as_admin?, only: [:index, :destroy, :send_invitation]
12
+
13
+ def new
14
+ # if this website is invitation only then you can enter an e-mail address to request
15
+ # an invitation. Else it redirects to the signup path.
16
+ if @invitation_only == 'true'
17
+ @invitation = Invitation.new
18
+ else
19
+ flash[:error] = 'This is an open subscription, no invitation needed.'
20
+ redirect_to new_user_path
21
+ end
22
+ end
23
+
24
+ def create
25
+ # Here it will add the e-mail address and a random generated key into the database.
26
+ # If this is not invitation only then redirects to the signup path.
27
+ if @invitation_only == 'true'
28
+ @invitation = Invitation.new(invitation_params)
29
+ @invitation.invitation_key = OmwRandomString.generate(32)
30
+
31
+ if @invitation.save
32
+ flash[:success] = "Created invitation request for '#{@invitation.email}'."
33
+ redirect_to login_path
34
+ else
35
+ flash[:error] = 'Error create invitation request.'
36
+ render 'new'
37
+ end
38
+ else
39
+ flash[:error] = 'This is an open subscription, no invitation needed.'
40
+ redirect_to new_user_path
41
+ end
42
+ end
43
+
44
+ def index
45
+ # Shows all the pending invitations. 20 per page
46
+ @invitations = Invitation.paginate(page: params[:page], per_page: 20)
47
+ end
48
+
49
+ def destroy
50
+ # removes a invitation from the database.
51
+ invite = Invitation.find(params[:id])
52
+
53
+ if invite.destroy
54
+ flash[:success] = 'Invitation successfully deleted.'
55
+ redirect_to all_invitations_path
56
+ else
57
+ flash[:error] = 'Error deleting invitation.'
58
+ redirect_to all_invitations_path
59
+ end
60
+ end
61
+
62
+ def send_invitation
63
+ # Here you can send the created invitation the the user's e-mail address given when created
64
+ # a new invitation.
65
+
66
+ # set_mailgun_prefix first checks if a custom prefix is set in an environment variable.
67
+ # If not it uses the default as given in lib/cally/methods.rb
68
+ set_mailgun_prefix
69
+ invitation = Invitation.find(params[:id])
70
+
71
+ # The invitation url is the url which is send to the user's e-mail address given when creating a new
72
+ # invitation.
73
+ # If the user clicks on the url in his received e-mail it take's the user
74
+ # to the signup page where he/she can fill his/her information and create a password.
75
+ invitation_url = request.base_url + "/#{@mailgun_prefix}invitation/#{invitation.invitation_key}"
76
+
77
+ if invitation.update(sent: true) && send_invite(invitation.email, invitation_url)
78
+ flash[:success] = "Sent invitation to '#{invitation.email}'"
79
+ redirect_to all_invitations_path
80
+ else
81
+ flash[:error] = "Error sending invitation url to '#{invitation.email}'"
82
+ redirect_to all_invitations_path
83
+ end
84
+ end
85
+
86
+ private
87
+
88
+ def invitation_params
89
+ params.require(:invitation).permit(:email)
90
+ end
91
+
92
+ def is_invitation_only?
93
+ @invitation_only = ENV['INVITATION_ONLY'] || 'false'
94
+ end
95
+
96
+ def send_invite(email, invitation_url)
97
+ if !test_env?
98
+ # If it's not in testing environment then send e-mail
99
+ # There are 3 required environment variables here, put them and their value in the .env file
100
+ # in the root folder of the app which is using this cally engine
101
+ # MAILGUN_DOMAIN
102
+ # MAILGUN_SENDER_NAME
103
+ # MAILGUN_SENDER_EMAIL
104
+ res = Mailgun.post("/#{ENV['MAILGUN_DOMAIN']}/messages", body: {
105
+ from: "#{ENV['MAILGUN_SENDER_NAME']} <#{ENV['MAILGUN_SENDER_EMAIL']}>",
106
+ to: "#{email}", subject: "You're invited for onemanweb", text: "invitation link: #{invitation_url}" })
107
+
108
+ if res.code == 200
109
+ return true
110
+ else
111
+ @error_send_message = res.message
112
+ return false
113
+ end
114
+ elsif test_env?
115
+ return true
116
+ else
117
+ return false
118
+ end
119
+ end
120
+
121
+ end
122
+ end
@@ -0,0 +1,40 @@
1
+ require_dependency "cally/application_controller"
2
+
3
+ module Cally
4
+ class SessionController < ApplicationController
5
+ def create
6
+ user = User.find_by(email: params[:session][:email].downcase)
7
+
8
+ # checks if the parameter email is connected to a user in the database
9
+ # and the given password is correct
10
+ # When this is all true then create a session variable with the user's id
11
+ # and then returns to the page which you were on before the login form
12
+ if user && user.authenticate(params[:session][:password])
13
+ if user.update(last_logged_in_time: user.logged_in_time, logged_in_time: DateTime.current())
14
+ session[:user_id] = user.id
15
+ flash[:success] = "Welcome #{user.username}"
16
+
17
+ if session[:return_to]
18
+ redirect_to session[:return_to]
19
+ session[:return_to] = nil
20
+ else
21
+ redirect_to user_path(user)
22
+ end
23
+ else
24
+ flash.now[:error] = "Error saving logged in time"
25
+ redirect_to login_path
26
+ end
27
+ else
28
+ flash[:error] = "Error logging in"
29
+ redirect_to login_path
30
+ end
31
+ end
32
+
33
+ def destroy
34
+ session[:user_id] = nil
35
+ reset_session
36
+ flash[:success] = "Successfully logged out"
37
+ redirect_to login_path
38
+ end
39
+ end
40
+ end