cally 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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