wordjelly-auth 1.3.9 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/auth/auth_dependencies.js +2 -1
  3. data/app/assets/javascripts/auth/auth_modals_and_navbar.js +1 -0
  4. data/app/controllers/auth/admin_create_users_controller.rb +2 -2
  5. data/app/controllers/auth/concerns/otp_concern.rb +1 -1
  6. data/app/controllers/auth/registrations_controller.rb +5 -2
  7. data/app/controllers/auth/search_controller.rb +1 -3
  8. data/app/models/auth/action.rb +29 -0
  9. data/app/models/auth/concerns/notification_concern.rb +0 -1
  10. data/app/models/auth/concerns/shopping/product_concern.rb +4 -7
  11. data/app/models/auth/concerns/user_concern.rb +38 -2
  12. data/app/views/auth/admin_create_users/_form.html.erb +22 -1
  13. data/config/initializers/devise.rb +12 -7
  14. data/lib/auth/two_factor_otp.rb +15 -13
  15. data/lib/auth/version.rb +1 -1
  16. data/spec/dummy/app/assets/time_hashes.json +1 -1
  17. data/spec/dummy/app/models/noti.rb +8 -0
  18. data/spec/dummy/lib/user/parameter_sanitizer.rb +4 -2
  19. data/spec/dummy/log/test.log +38294 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-6/-61mtDbrQo1S_inOSKvzf7NThe0LNx_ZKw8_xNbdbH8.cache +1 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-E/-EQBDE-BmscyaLM-laqW-3qCiXHVGVhFY9hj8O4UPgE.cache +1 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-c/-coZ9HrDBKWXMOPzHQVobptnxra-S-bwIwCqc_4IiEU.cache +0 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/04/04XrrWqYxY3vbCEuJD_IiXekTupvlAIT0VMiWurtd5A.cache +1 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/08/08rMiZXuP8_XWIDLDuztXiVlobiV-gVItYRr3yhfIMs.cache +1 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0S/0S3TQXmQdcOoHVbm1lf3TXSdtYp_W9PSeWflwASp-_U.cache +0 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0T/0TOLGQUaZ-HAKdzwTyrRXPM44-f_sy8W7lFYlVG9x74.cache +1 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1O/1O8OFwDssnHMg8FjHFnkPGdlWP-wl9pnuQoLKtFR6c4.cache +1 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1T/1TfQHTDSAm2hfvng4WD_NLbrqcULJZJqug2b2hW0P1Y.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1Y/1Y_UFXyqxHtnjNdw7ZFiBAiVPeRtgYMGntWpW3_SfbI.cache +1 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1Z/1Z79eTYT4t733p8ELTIx1wetBTnyxNNk3wIMFXloO1M.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2T/2TCws4S9Q-TMgaH2pMlm-gKyxIr0-DrRA7JDOI_5wS8.cache +0 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2l/2lbzVxSCC-RQfovlwKUkYNlJEZKJ_OU2HdIcHUU4Xq4.cache +1 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/31/31B_xMNizeQWxBfgWMxFwI19bbfTytpJFiXeoSOPuj8.cache +0 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3K/3KNpL9z0AyalQsOSPsnGkQEC2_lv54OQ8k2z92XHDk4.cache +3 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3U/3UwFPb9CQ-vQfIvjqWJbgGsdIZtG3nTDKmusGGB9IU4.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3h/3hKxwLIUISaMlHIwNql0a7RoU7zsCjonTgwHZH0tiMc.cache +1 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3n/3n9UMsdD96YTBw8al6HEVdtrxN789uVtgjGbPtDkNW0.cache +1 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3q/3qusNC-PNAGtm0tVoy-OLbW0l6NDBnbr8h6HsC6-ZwE.cache +0 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4d/4dA-psgzEyd7r8D0WIOaEIpvNYUwHqoO89JCG2a2Tc8.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4k/4kGl3mzGAVt3OQrHipVrCTvobMGiNw1C3TAlM8d0jSo.cache +0 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/58/58Uqo5jmF9hBgzPqtPyE1DeiezN7zlq1Lri1Ef32uW8.cache +1 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5M/5MTMDOBYLaz-UEBU3_Wp8nnZmiGX0_Lkoboym1-PsO8.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5S/5SJHJ1Vh4p-lhWCO86Afaffi62313kyQYH7yiMK-ig0.cache +1 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5_/5_rNjsUQIG1kvx0Ea14xFiVUNZw-fQiCKFADtCUISl8.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5g/5gb4E1lAnFl23Pw8dDahQ-XJPwkzfIyoLaOZQfe6GF0.cache +1 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6H/6H7eIlkcyF_tOq3G-jE7Go7bMWshDex0v6ZrFTabtVE.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6X/6XFTMtvotyaoOhMtOxGyxuPqWHKl3z1iarApYokfnRg.cache +1 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6_/6_GUdy0AbQXpTrUTMxZmqEyWaCnL7_9As9f8ENnYqBU.cache +0 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6u/6uijJ08ZGEbxG3r-XQvQPBEQUxa8gj3u82sT-VneoA4.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6x/6xqDCmhf-OLfSpOkL827Ge52F8MHGaGgrO4N129NCno.cache +1 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6z/6z5TZ1M-qpWSjqc74aaEUInjmWLPbrdy98tfCQnk_h4.cache +1 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7X/7XsyUG_4OgpdhXzlHQNIOdKANfA55SOhkI_keuOBqoQ.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7a/7aFCLTGDxDIrD_vbRWqLH6WWQWamfKy1fR3SH-lb5hA.cache +0 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7e/7eccGYJ8dAljr_WoDu0cVNk0zdGJk2mWyQE0QU13Xt8.cache +1 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7p/7p1SrKUS7nrrFrWkVlPMIFF9H9tmozMLbvKwdZSuUYI.cache +0 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8-/8-nLVdj99vXjqlQoJYltkE9vX7pgsL7U6oqISmJX2Jc.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8H/8HSj99J9UM750Lb2bdfLYAFqfAQIAqSxlGjT096u7nE.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8J/8Jd_XJyfZm3RsmJ95uRH5urkqPK5-d4pvtALJnLBYDU.cache +1 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8j/8jWdYSkXvWd271FGyBQa1CL8t1NCdlsvk2VdZr_SIys.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9s/9snOMwA2b_SqKCeRzfq_eab6XnmMhLWHDvoDSUj6HJA.cache +1 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AP/AP2jkw2AF4yqNxnwySw51TUK7RVXbpWbGP_DrdZwf50.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AP/APv1rQxmZjQXmFLOufS2v0jsWw3gqByAtTR3CiuPxaU.cache +1 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BA/BAR9t9VEcGB6AeP8_cwNONYu2Jg8dNHwXzxInm6wqRg.cache +1 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bm/BmxJ5hMgr895pNBjWTXQDZBmV9BrSKILRBSs__eihb4.cache +0 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bu/BumgAVpC-WcPqaVaG3jjgBGJFfvjl5KCOAmRyu2yU4w.cache +0 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CK/CKMjQ_2sMyq6LSWGCQjah376AICmk2FlB6FzV_0sN_s.cache +1 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cc/CcHTIg-2JC1vRhuCXNydi-RfjziOF5qO8kYLj-HzoUA.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cc/CcW2718s2i7RkN8ST33qnPtxzDXwhUoJ3D9AWkJ3Qhw.cache +0 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cn/CnoShxpzz96vNVTeBqxA2k8ZBfnNHzHn2xIA7bD2jY4.cache +3 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DJ/DJKxp6-JgYXtFs0yhhjItwnj36wnlH0uS6GOnpL4BN0.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DT/DTBFVtz3_wFeySuFJr6u9sM6q85uzGxKNnVySpIvE8A.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dj/DjBDZjKpdWXnEGK6gn_a6P64l4BzfUDofPBQzxvoQZk.cache +1 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Do/Dot0LXvqeMyL06wXeUn8DLrURrTztIy1318Qraz4tNo.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dw/DwlNm47BbOpWabx4nL1eEE4ckRbI6JGR8SR5akdHVfM.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dy/DyjFP3w5ZuQZDSpWL7TPP7IcIlb3BZZ686gmJRGMNgY.cache +1 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E5/E5SBLFshplGNpTsaq2qbuLDLGUW5NX0W6G08orTEfb8.cache +3 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EW/EW0mRGtnT3pbtHOhXnmfGFACMcet5Ga3wX7LvUZSub4.cache +0 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ev/Evd9M2zuKBBZJtuyjN_JKq5YMjyO87lr9NXlImL4t0E.cache +3 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ev/Evs77jlLxrjU7vI4M0LbyVZYZn0SlBiI6w3nNZ7-vCU.cache +4 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ey/EynkGZa3bnCIb88kBWzPLMHoOlEuoOhbQt_Y9d8We0U.cache +1 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F1/F1dnJDM2mtmSrDpz6sh0RhnBvZ5Uf2e_i5Ewb7i2spY.cache +1 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FM/FMgFt9niUpAvTvnU4Sy2tEYqctrnUBLHPkO4cAQATFA.cache +1 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FX/FXKm5CB89fezqDSFthGh_RpQpgMnMJJIFhN5HhNB5xg.cache +1 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GU/GU4JjKnhL9wqceOeAdEKwB1EbuR5I4_ruem7fa_TlEQ.cache +0 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gv/Gv2Xhmfocbx5iuIdCHwPDqzDmCqj_JGgscp4fYjShfM.cache +1 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H1/H1BhK4o0CrF9drsVX2fzFsq6reyP97RS8CY1p7YGHUo.cache +1 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hq/Hq-Q-Exyjd1wIE_XFR8z8AwwNitdqtUkyg2Rwr8lDmM.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IL/ILwR4lRjLqNDOsWD997I8LQs8rfib4E4sQTZ8h2W7Rk.cache +1 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IT/ITTH5CSedXJJtTaZLebSa4Xn6hMaMtVaPB0oRFPYPiE.cache +2 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ib/Ibp6GV5X3U4BpgBYkG19kIB16rTcK3Etad8nvXIxFGU.cache +0 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Id/IdqSV_bUmuDB85roKySgXOWi0jvj0Li0K4KQcCRj_gI.cache +0 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Il/Ilmt_svCWdAydmzw1zei-U8CWP7i3OF72nOOprG00hI.cache +1 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J0/J0CfxOVkHAsR5OERX2QgPn-oNRq_1fAHhxavuGwpfJw.cache +2 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JX/JX8xHvotrnPiEpMPwrM4UBi7qVeGm4J77qoDqpTKYs0.cache +1 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KO/KO7SdEauFqHERxL1wCjCurYTeTifNJwi76SjB3SsJGU.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KV/KVQCdPChfMBr1Pa6adMTH3openPuezTTyOFE5dT9aOg.cache +1 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KY/KYrAl1hsjNuLOJJaEzQXSJN2vjKc4Klk9vXOiTyw73I.cache +1 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ka/KaUg5gStGpT-WClk8wC1xxnWQ5DOuqEtWNRy7YcphQs.cache +1 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kq/KqrOZcHCPbn2wl5itOoIuGSL3lHJGjLnlNNiGqKSXik.cache +3 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kt/KtBzM9PjY0ve6ILI7oCIklQZk-D8SrXO2F-XEwYxs5Q.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LQ/LQRU7cqg6V9X5aetvUuLDZZn9nenW6SI-QzOKP5sCL0.cache +0 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lh/Lhl-3xF9pdODkFXSR0hrvXmI6ZAkvdbXxCPzAZnV5y4.cache +0 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lx/Lxs71Xh2V4O2qeyWbuEPCmkJfsRdlk13ONaYrE1n9wA.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MP/MPCPCXoDkqVYMarTQI6SHWsf6cnohji9-BQr4jK4HgE.cache +0 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N6/N6TRxe3FA5JoqBYQPcyK7N2GKSG1nf1A12ueC4NbciE.cache +1 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NX/NXQo8WHO9w2OTdcpyd0x7dltr9K7fbXxd4w36WLk2uU.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nm/NmKt9xXes3qjjL7qBoOgOfm3MzxgoF-bcIOSScOEj_A.cache +0 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ny/Ny4SXzxlXZtrqpGSWENZj3asmwMJEItqpi_pGK2w0tM.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OC/OCgU2H6mmLE7R1ly2ISlkKWR00THjG4oZpOICXgS6So.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OF/OFaj5VjAJs0rVJ33uN-_6xOIZgLaaQY9tAtTXZUk64Q.cache +1 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OX/OX-dklkzQb53ZFBVolLLgACxkPcVeHcr64yMBEU3wcE.cache +1 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OY/OYE962r_-OE6aZsD4oSESaof3HjqGatvT9GJyKjIo2U.cache +1 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ol/Olf_8kPSDI2Vqb40-eH1aGMqIKCGNvfcDJHx9PWPaXw.cache +1 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P7/P7YuCARuyp7z7r818LMhg0CJWOlvlGuqR48Ng1O25do.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PB/PBHtjw1AR4rCnSGQ5LaH5J3n3z0lLq2y6UTj7Z0Pwtk.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PD/PDZ9a0UioLc_zj5ah12PCJH0VBlRRYMdpVWKHr66osw.cache +1 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pq/PqVW--mUwbLir-XGjudr-ErZ6D9yfMsiYB6izLt0N8c.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Px/PxepvlS7_HmLachWoGi6WZeoPVTMYxfNh_t42ULhato.cache +0 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pz/PzqI8pnAgCrTGVXEQj_ZtkeJD4kxO0QzIf6Uk-22QjU.cache +2 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QB/QBhBj5piWuqDxkx-BXUM0BOvs8pVsNDedXxVwKNnTZ0.cache +1 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qg/Qg-Jid9YHZBzXDZiL1pKQ9REm8_UJ4lWLOjwX--CvME.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qi/QiIJSRJCH-Y-20AhtIEXX2qWH_Mkb4JADY2F5XJJar4.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qm/QmWLd-Jb-VWP4WX6at6mrduGQR6CMIwVH68JOfqLMQk.cache +0 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qo/QopeVpP02F2eYMQxQBaL5uWhN4ycpTczEXXnZ1GRS3U.cache +0 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qv/QvH3LisfzEeoS8jcTvKy5XXMLna_JP3B1sot3OWDpSk.cache +1 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qv/QvTX_ppHbQG831XEDjBaxwq8CAjBVaLFNvY5xANghb4.cache +0 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R6/R6oUbVmahUMh_DsJZRJGBKV765ICknjAT0dcY_Jekeg.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RG/RGKD9rejvAJ0vOZYPxeU7ahImQUQ-Z4lmlm7sF3dLkg.cache +4 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SU/SU9H2PCu05HnMRirqE96V1szcViaLD90Yw5y8OF3n6g.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SV/SVkbUossZ05MhBUc3oKmndn5ZOKrfUXYmiFcADiGctI.cache +0 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Si/SiiD3tf3KNQA5hnNKIkL--jUSORyEVH7mUmjBN4z9ic.cache +0 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/T1/T1nKgCtKoK7k7opWfcmRpkyetldn-pb1ZhbRjluCy2I.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TP/TPpGr8ck063uaVKKkIch58Czwqnf08Q5Gi8x3OkTck0.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tw/TwRV3tQQl33_EP4WA22kcznOrByFYRtUDCff_OjuGVQ.cache +5 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UK/UKEeU0LP8tVLR7YSgiHurTfETGpZGKQ8WcsNQ47z1uM.cache +0 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UO/UOpcFvSl7NDppxjVdWhn11XmKjX_TK9fBrT52Kujy7A.cache +1 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UT/UTGoevhI45NAoJoMjyoAj1ba8lu4PNEUNF089DILQus.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ua/Ua_Ui_RbGi_U2q51e-cSGFFDlV01lq4Rp-k0oANEBTI.cache +1 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ub/UbSXVZotWSAfAyoNC4l51N8mkgp8Mfm0c_ztclTbQfA.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/V7/V7OUQyJTPm99lcRBaqPdCvQE2ZcDwQcad6oSYwcSuRk.cache +1 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VG/VGnctpsx_xI_povzD6DVKNfO1qCmyNyBLArlaW0w854.cache +1 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VS/VST9xyzICdvt51kiO4xW3gv0DjJKqKQMwnpffTy0ep8.cache +0 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VU/VUtsgWrf8e6THR3yEQiILbr04w5C3O6Db0ycYVST1P8.cache +1 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vg/VgjtPuEM3MfvKhNYBpK1tcPl-vT5j2gO9fpLH0xO8ns.cache +0 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vh/VhxsJpfat6UsgoVQCQg1Ym2FYDXUOH78NLF3d0FuJS4.cache +3 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wn/WnkRWDYrvGLVMSb-D3I7dmRiIwFqpXNm38q9fJERlCk.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X0/X0nND0cDycJzl8m3fXGrlW4yBeuqEZePvfk16q4KstQ.cache +0 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X3/X3smAVji-ukCfsZEDAxoOZLpw8mT4Mj-fAbNVG9-9bQ.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X9/X9b8M0d2usej58k1zoDmbBdjSdBhN0x1QtWhmnh-JG4.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XN/XNlCmdnFAL0okntfkYcWuHAUCeF1rwV76CY9lqfsjt8.cache +2 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XP/XPVYZoNt_fyvLNJU2fCzrNPblN8oEOC2pCWg_AVjrM8.cache +1 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xk/XkvKH0n0B1irtTKKuoTQyVXq0bLDZS_pjapsNkTIG5Q.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xl/Xl-jmZ-7puQL3mtRUZYqwLVI1o_pnXqqOp_NDugz5Tg.cache +1 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xn/XnLUcgubu3rrW1Imsk5RrdW90zbrdAGo6gt2-H3a4Wg.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YJ/YJdLwUSTqw6BkhdtdMgfjMSdelN2-81K7efXUW6jRJU.cache +0 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YS/YSq1BFD3X5FC7M_habJoT5avPD2YdPLqr0sR1wWWAvk.cache +0 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YV/YVc8VPi61vJqZNqOyOHASvZuhh7DTmADBiDRZVlWpJo.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZA/ZA5eiuX4M4esm-EBJkSh7L3UVBzBTbFdPxmYBQNOpYo.cache +1 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZV/ZVbBJThbbFv1arJIVJTUtZyBJFT-ZKlXaBbqC5FLMuo.cache +1 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zl/Zl-FTV4vKa2r3nBU7NRBdlkyRgcIo7NOyqsfaqdX_fg.cache +3 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zz/ZzHkXwTsIIQP9RxHuaUK5e7dLIn-97MEMx4FIMfTeQ4.cache +0 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_A/_A5NiM3ds10uNnXcSuE2jO5rkpdrAWXNQXL7cusqrXw.cache +0 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_p/_pS1zE8_3SWBv08G8D0PbOrKWwWlu1J-10DIcKTkgO0.cache +0 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aU/aUdedQfJRE4WM1yhkBqntdEdsLi9Afvy4vJCZT_HC1o.cache +0 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ai/aif0HXHTP8TTkJLP5WgJJWRX-3WuhyXitAQqKggdkcI.cache +0 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aq/aqrVpPmjcHL__KSEXUeFS3ykK-B8VKpf0NWG7h4IZF4.cache +1 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b6/b61R7B89j9X7j11q79KIQeymGsjVAhunokSAtKweNrI.cache +0 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bM/bMoNqRKvqkG10Cv9ePTiMLy7Zed3AaLbW7ZwMsxf5mc.cache +1 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bU/bU3vkG9q8KjZoJCJnmrMnAkXBTa2RH6BCpjX4NhMeHg.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bZ/bZTOj3FkHGhajkYgEen2owanSvTPSosjpiW1XxECilw.cache +0 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c2/c2zIk6AX5jPMc_2xxPAsB0TykPDefYzbi6N4onjNvN0.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c9/c9Heea6SwmfObLSouXnFexRXpCNLooTsbeAjLVk3cV8.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cW/cWFdLaz-SHWaFQJg83OLeCDcwIUj6XNIyhq--Fdrbx4.cache +0 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cX/cXitO05Mkh-G_mPvJiafiKpqQXqwp2V5NaxXFOOJy3I.cache +1 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c_/c_h7t7u_rFR3KnBBfzFsDc4YAUt0EZTw96CPQ1kLFf8.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cm/cmQOyDMGQlBXxS-cEfW3ybQyDtYbA_ELFjyA2HMV7rs.cache +0 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dH/dHiZ5z2yXwZwOieEvpwWUUaKghyAC0iCIjW2q2kVeUE.cache +0 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dJ/dJRQPj1XGX75PaQ17AgiKl5kyCK6bV7ylMbbMqbXuco.cache +3 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dU/dUpbgK694Ay6QF-18CLy9dJfxZtvOpzmUQxUov_7PeA.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dZ/dZMQcf9OWIgXcTJCJ1GTVDVe19S9ZgiG_1e1a780d_Q.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dz/dzDMb14aNzB4c9qpJDq04Zus_LiywM1zrRiGKuXpHcQ.cache +0 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dz/dzuY7AKX-enWr0rYgYH4OXHi-LBvc0isw5ie0yO45e4.cache +0 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/es/esxuCJxC2C8rUCak15rMHGq6I_MOm6gm-zhWpn1A4Bw.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ev/evKoO1MXGSs8XpCDtZeSqJYE0P-10u4zA10F01ZqdwY.cache +2 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/f8/f88N5DXkOKgPc-nGhMPxgpspka0NaeEVCBzGvwaE8BM.cache +0 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fN/fNu11taIQfV9NTas0dI0S7zDzAJbF0O9toHtiVjNqFg.cache +1 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g7/g7JJ9ISpywxS5TvtZOBbK-UREEZF7OblxPbjVe4SjsI.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gX/gX-ExBEh2CdVJE3MphSgyAmR9rJrBbZfeK1r01QapHY.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gp/gpFDoJpjw_aE4DhvaqWOaFhXiqIvF0WSfjTnl8Q3G0U.cache +0 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gr/grJKiwMuS3L0guQX0OslBDPcUFhkLatZVZ_sorfdT1g.cache +1 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gs/gsQslGxrJmD6VTWcwWsmvwGi31tzfNDH50ovHBultuA.cache +1 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h5/h5RPYKJh05JlXrTFGfH2Vb7BlwbxXU01nd5YgSeK5Wo.cache +1 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hf/hfok5pfGN25WWd117te1LUCAQPLyyTSbsSvLuHt5EYY.cache +1 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iF/iFr1FRNuP901QtIXwcJXV8BbaIqYH0CpO1ZHk6sCkb0.cache +1 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iW/iWurTeQEP4Baioodj05Xzbjr7Tuynedg0wtjG9go8XE.cache +1 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ie/ieB6IsSbJUhmmDAaLfoZcZsxcJWis7aP24bQeekG0ug.cache +0 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iz/izs4CjsUFVjL4PZv6fZpRUHaF6Eu7LQhAxnsQahNb-E.cache +1 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jl/jlRTXjvTvwfw694lhUYco9VNQ5p9wUZjcNZPw4DBkH4.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k3/k35ajM7sLMUFU8Q0Eicz8ll4aAuVA7vaOR2ZZRKYl6M.cache +0 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ki/kiJ7i4bGP10OFR7t914PilCPG_jffwYL8Qvf_uzhXvY.cache +0 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kv/kv8JerVwlaU6QHgsDWr4j0tJ2pQKeOI9Z6VAZN_STdE.cache +1 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/l-/l-AjdVtB_eIbbSI8T3oY9RxX6MaokgElNwezpCrU0tc.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lp/lp4dTA0KQXTV8N184i02Z78TCPg2xRLnWCIPhgXQcxA.cache +0 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m1/m1kYy1gKkFXEr6rWr-HoQv9pgWMLrPCrL_JdSsNOCRw.cache +1 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mO/mOSLqAE9kzEJh4cheO2St2wPVpGCehBSrn8zTIHNHY8.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m_/m_8ZLxfURcXwrMhPEHHxuUhWJONJdLO8p3vV9GcX-5Q.cache +2 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mj/mjgsnaHnxV_jU9Gu9hmHwlJWzvop_p7pkES6WcsVT34.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n1/n1CXHt4zqkvoOOH0UwLzVU8NU3rLL8tSCDJj4KXmeUk.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nL/nLc7sVZTvR9ZySmCVbOm3L11K3OIFglLjTfR_wfqP1Y.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nN/nNDg8M6LNx27UKt--_qjy5w3B3w2ZQXfVHofJ_9iOIc.cache +0 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nO/nOMqCQq6fSuJ1NFG5nycnmuk6W0xDg06fhk6Cu6mDsM.cache +0 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nY/nY6kxGRZaN9lIJoesPLgLhngXY5EVObDYGI7HeEPSks.cache +1 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o6/o6lEHcEnQWP_4WwYUA8TW5v7JOkGfGh6Z6luQSQtJtY.cache +1 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oX/oXkL6oQP7NvYL7x5_5f1uD4GTqQ01Y2uU5VW4L0GS_g.cache +2 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oh/ohRRkiubQOLbsblty6nhyfkHsbY55UBwbBpMDy-ktiM.cache +0 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/or/orU_l-pK_93BmQxCnrApnMMMuh8u8giASvAeS0P_RM8.cache +2 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ox/oxzEqE3kqwCMQF--pnbvQNhO9Z7754obrRG8BFQB2jY.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p7/p7ycjdV_4JeHQfXQz054I1rzH2KG6qFl3RFGjPr8e2I.cache +0 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pJ/pJ2U1guc7XNzeH0lRkeerRPVMMFjjn3v_3y6uGFU4os.cache +1 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qY/qYl6cbBK-NwDbcpYtfyaiBGvmqxtwDm39mtMP1PMfH0.cache +2 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rA/rAcSMdSYlR0BYo0DfMZrKdbZa-LIFyzsOyUM6tQZ0QA.cache +0 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rL/rLF06JlaTWeBGVuR_EGaceaz9d6D4ukgVy1Os8DH_4U.cache +1 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rN/rNgVMjYu2Mm4ocdYdjoceJBHgvhmJ3zSX5_iPq6hSwU.cache +0 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rf/rfrwzmCwUJdLJ-4vW6Ho4n9OHtskPdrp1Sgxp8nfXO0.cache +0 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s0/s0bU5EzWKfXhMYRpkWpKt5YR6cs76J-nVmfXQJo7tTs.cache +0 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sJ/sJ3h6GzOqfPJGFwYpVD1ICsP-pTFUBTD1eulT_CbYaI.cache +1 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sy/syocKelkCJcG0NsUYsFE4mAsPYhQ-qg-scwZ4vgEB3o.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sz/sz5cr6hXoh2UUblSs4U5epuZDMl321SsPEgciyvT54M.cache +0 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t5/t5tCSy11ZU026-sCJq8A6_2onsmW4-cRUzJdKBBtopA.cache +1 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tE/tEAobslXA32fbcT6i-lf-ZgKlWdPkLAUVJHOEq9AhBI.cache +0 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ta/tazyblNi210NEJJPKQUv0CTyMqnZ7VeVGwtblOTs2tg.cache +2 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/td/tdafnUv5YpEGckfeAFIaKIcFBuO-N3u9A7viFxmk_k4.cache +1 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u1/u1sw4BlSGM3AJc3gbohdPLz0B_h5qRzx5IpgR8AThZw.cache +0 -0
  234. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uk/uk213HHY3gnm65Jj-SGfFcXcE_Q7YODVkxGDTefhmVw.cache +0 -0
  235. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5g7KRwDAbcVPwY2UBAXijZMNgKyeP-OfIsGKP_7cmc.cache +3 -0
  236. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v8/v8CM4oxnq45sCHI2UFL_2dpTyi6hP_HWJvKap_TEqG0.cache +1 -0
  237. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vL/vLNadSOyM9xhNnbNBWHWyhx3Xe69qud5Y7Uh-w8C4nw.cache +1 -0
  238. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vR/vRuHBCEKSky14iv1Q8wa6y8M2doXukScL58rsvxi-o4.cache +2 -0
  239. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vv/vv77r1oYAYIEYc9esC2Pm0Yko7f4iiDqQD62ys6nCX4.cache +0 -0
  240. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vz/vzZSiCj2ChRKhiv1haund-oihmd8SXK0ENbEzBEMsF4.cache +3 -0
  241. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wK/wKt8XrZskUrY06EAZtPMLWyPg7F0k8zhRoqvvWnaTfw.cache +1 -0
  242. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wh/whG8QLd9xzuRv9Cyz1TZEtIfAVGS86a22-KxMuw1xuI.cache +0 -0
  243. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xC/xC0-a-LzUeOVU45YKHg_cihAkaaSOfCQGlNho1wYtCE.cache +1 -0
  244. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xL/xLt_6fX22faECUk6gvEhlMv0H32BpKmP2MhSmREnjyU.cache +1 -0
  245. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xb/xby-aD2i83rnFuskvx2aqmodABvvDclorn9Whrp8fo0.cache +0 -0
  246. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xc/xcgQrDLYzPPb6b5XTcmbzOhHFJ1Q7ALvzPVZohpRLbg.cache +1 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yC/yCS_vzjBPPIXrHoNaiFsaH4r4OR6nI9I0i0XnY-ZjvA.cache +0 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yP/yPZ1vHq_JXODEfZA9EJkZiMxsIbCH1WvidiDrw2vhf0.cache +1 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yQ/yQLiBRD3MDL8-_XxwM7nTdDOoz6FNHHeNYivXVHpAEA.cache +0 -0
  250. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ys/ysq36rjtZNC7Tzy7Bda0S8rZSJUFEvhgU6fhjfPdGFI.cache +0 -0
  251. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z5/z5k4Gpuh2ktMU2NqPhclMm0lBQhO0s7EUP3lGNdKk8M.cache +1 -0
  252. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/zKUIlkNJFzV0H3FhRncKAAEYkGpWE-mSJOUHWSlcuns.cache +1 -0
  253. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zN/zNw70j0I4tQwyHM9z_RpOdNPPWOmVnmcQfMv1tCKcSw.cache +1 -0
  254. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zy/zyzaZyHC0pswS04rSBHCBgN4WonU-hxC357nHAegvb4.cache +1 -0
  255. data/spec/requests/user/admin_create_user_request_spec.rb +342 -9
  256. data/spec/requests/user/registration_request_spec.rb +48 -14
  257. metadata +427 -2
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/images.js?type=application/javascript&pipeline=self&id=2db65208590c120473b92bd1b7aa8c329e15611f8b0e7e597f7436792687ef47:ET
@@ -0,0 +1 @@
1
+ "%�-t`nX���d.����>0!W٭�N����b
@@ -0,0 +1 @@
1
+ "%�2��&ȱ�V��sd����Ƥ���4<�
@@ -0,0 +1 @@
1
+ "%a*����$2���Y@�‘�?nj)�1��'��
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"wfile-digest:///home/bhargav/.rvm/gems/ruby-2.4.2/gems/turbolinks-source-5.2.0/lib/assets/javascripts/turbolinks.js;TTF
@@ -0,0 +1 @@
1
+ "%��!�)������PdyY4N�s���]�:�B|%%�
@@ -0,0 +1,2 @@
1
+ "%Ep˛�=��'�-�Or
2
+ #Y��/9�X{)fQ`p�
@@ -0,0 +1 @@
1
+ "%��؍�� ����u�S5�)�Xg�ȉ)���7�
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/Github/Auth/lib/assets/javascripts/leanModal.js?type=application/javascript&pipeline=self&id=d65d0e4d4c9fa1e7f032b67ba40adc9a38f82b40978d488e17179625d3d7b568:ET
@@ -0,0 +1 @@
1
+ "%���qeP��"����9�?��t��L�jbV�&-
@@ -0,0 +1 @@
1
+ "%��Ȗ6z��-ԃɪ��w�h���N����c�*
@@ -0,0 +1 @@
1
+ "%$j�{�HYȠKwG(|^�f<q��R���-�'
@@ -0,0 +1 @@
1
+ "%�0�_�������Z�������2$֭p�%�Ph�v
@@ -0,0 +1 @@
1
+ "%���<8�/���a�c�6�e��@��C��U��/
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/.rvm/gems/ruby-2.4.2/gems/turbolinks-source-5.2.0/lib/assets/javascripts/turbolinks.js?type=application/javascript&pipeline=self&id=a511eb29b7a8230460e94223db5cfa18003add77a993ccf7df7b0b1c9d698628:ET
@@ -0,0 +1 @@
1
+ "%��LT\��C�i��d������܀��B�x6��%�
@@ -0,0 +1 @@
1
+ I"~app/assets/stylesheets/application.scss?type=text/css&id=36baa75fd79451f4ccb84c37df3ab8f4f6e37cc1f3433e6a37fc2dba2cc174de:ET
@@ -0,0 +1 @@
1
+ "%x�C �1�W��*&u�u�_���J���q�be
@@ -0,0 +1 @@
1
+ "%��>`��?�)���y�!�X��/B����7�m
@@ -0,0 +1 @@
1
+ "%���̎��G�l@�'��5Z�uY8ً��/I�
@@ -0,0 +1,2 @@
1
+ "%
2
+ ���{C_�C��p�M�W �ʪ0�t�٬֩��
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/.rvm/gems/ruby-2.4.2/gems/cloudinary-1.11.1/vendor/assets/javascripts/cloudinary/jquery.cloudinary.js?type=application/javascript&pipeline=self&id=e2fd7c474c9b979f71828ade9ab9486b12399a7b7e1524084737baa2cbd9e121:ET
@@ -0,0 +1 @@
1
+ "%�b-���v���޷��7�7s'���(�֙
@@ -0,0 +1,2 @@
1
+ "%�Ži\��n������u1YS��4
2
+ zU���k
@@ -0,0 +1,2 @@
1
+ "%�SD������0cU-)��r���f�1
2
+ �p[@
@@ -0,0 +1 @@
1
+ "%#tN��hc\��-@6�%��'/�{������
@@ -0,0 +1 @@
1
+ "%�+콫Y4Wg��޻�����TuB����+�
@@ -0,0 +1,2 @@
1
+ "%��KL�&}>xFj �4
2
+ 6��B�I}Ve��_�{O
@@ -0,0 +1 @@
1
+ "%�����X�Te��X�'^{�$qI}��a�6
@@ -0,0 +1 @@
1
+ "%�'j��JX���U�&���.������ox��#��>
@@ -0,0 +1 @@
1
+ "%K�.�2�t5��� &o$a ��云����o:�
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/Github/Auth/lib/assets/javascripts/you_need_to_sign_in.js.erb?type=application/javascript&pipeline=self&id=204f7deb830ae0a3ad61c36799c542b9151a410a786ac83c4b8dd38cec6ea53e:ET
@@ -0,0 +1,2 @@
1
+ "%�eX��M��2i^P�
2
+ QM9fv�R۔{��8|
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/Github/Auth/lib/assets/javascripts/payumoney.js?type=application/javascript&pipeline=self&id=a62452698f8f6e1259c53e62166639fabab56ca84644c74bd015dedb81516bbe:ET
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"�file-digest:///home/bhargav/.rvm/gems/ruby-2.4.2/gems/cloudinary-1.11.1/vendor/assets/javascripts/cloudinary/jquery.iframe-transport.js;TTF
@@ -0,0 +1 @@
1
+ "%uW��l��j��Z� xU��>�?]��pc��s
@@ -0,0 +1 @@
1
+ "%�$���L�,-��ATj_���:�g <k
@@ -0,0 +1,2 @@
1
+ "%wJ'S��u�5��谵�X�
2
+ �]8?
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"sfile-digest:///home/bhargav/.rvm/gems/ruby-2.4.2/gems/materialize-sass-1.0.0/assets/javascripts/materialize.js;TTF
@@ -0,0 +1 @@
1
+ "%�T=�I��O��9d��q���$�~��<ϙ
@@ -0,0 +1 @@
1
+ "%��#�2�w���RӠ����s+U��-�Q��W
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/Github/Auth/app/assets/stylesheets/auth/auth_default_css.scss?type=text/css&pipeline=self&id=d5fc08adb06c92de51d2ab613ec7181ce4aff16cd8a7802ad863749472cfb06f:ET
@@ -0,0 +1 @@
1
+ "%���O �ψ�9�a���r݁LI>�9,F��q
@@ -0,0 +1 @@
1
+ "%��`x�'w��M��:G/���F�vY�/ ����B
@@ -0,0 +1 @@
1
+ "%D��بm�Ҟ3��8L��C�f_�W��2�'Y�#N
@@ -0,0 +1 @@
1
+ "%ó�n���x���|��b�[ģ��Y��xF�
@@ -0,0 +1 @@
1
+ I"�/home/bhargav/Github/Auth/lib/assets/javascripts/main.js?type=application/javascript&pipeline=self&id=735494640feea1f7929993fe67427f10b8932eb92e934c0096cbba96987d5129:ET
@@ -1,6 +1,6 @@
1
1
  require "rails_helper"
2
2
 
3
- RSpec.describe "cart item request spec", :admin_create_user => true, :type => :request do
3
+ RSpec.describe "admin create user spec", :admin_create_user => true, :type => :request do
4
4
 
5
5
  before(:all) do
6
6
  ActionController::Base.allow_forgery_protection = false
@@ -19,11 +19,7 @@ RSpec.describe "cart item request spec", :admin_create_user => true, :type => :r
19
19
  @ap_key = @c.api_key
20
20
  @headers = { "CONTENT_TYPE" => "application/json" , "ACCEPT" => "application/json", "X-User-Token" => @u.authentication_token, "X-User-Es" => @u.client_authentication["testappid"], "X-User-Aid" => "testappid"}
21
21
 
22
-
23
-
24
- ### CREATE ONE ADMIN USER
25
-
26
- ### It will use the same client as the user.
22
+
27
23
  @admin = User.new(attributes_for(:admin_confirmed))
28
24
  @admin.admin = true
29
25
  @admin.client_authentication["testappid"] = "testestoken2"
@@ -172,6 +168,29 @@ RSpec.describe "cart item request spec", :admin_create_user => true, :type => :r
172
168
  Noti.delete_all
173
169
  end
174
170
 
171
+ ## what if we create with email and mobile, solve this today.
172
+
173
+ it " -- creates a user with first name, last name, dob and mobile -- ", :admin_creates_user_with_personal_details => true do
174
+
175
+ post admin_create_users_path,{user: {:email => "rrphotosoft@gmail.com", :first_name => "Bhargav", :last_name => "Raut", :date_of_birth => "10/10/1888", :sex => "Male", :title => "Dr"},:api_key => @ap_key, :current_app_id => "testappid"}.to_json, @admin_headers
176
+
177
+ user_created = assigns(:auth_user)
178
+ expect(user_created).not_to be_nil
179
+ expect(user_created.errors).to be_empty
180
+ expect(user_created.first_name).to eq("Bhargav")
181
+ expect(user_created.last_name).to eq("Raut")
182
+ expect(user_created.date_of_birth).to eq(Time.find_zone("UTC").parse("10/10/1888"))
183
+ expect(user_created.sex).to eq("Male")
184
+ expect(user_created.title).to eq("Dr")
185
+ expect(response.code).to eq("201")
186
+ response_body = JSON.parse(response.body)
187
+ expect(response_body).to eq({"nothing" => true})
188
+ ## now also check the confirmation email is sent.
189
+ confirmation_token = get_confirmation_token_from_email
190
+ expect(confirmation_token).not_to be_nil
191
+
192
+ end
193
+
175
194
  it " -- creates the user and sends the confirmation email -- " do
176
195
 
177
196
  post admin_create_users_path,{user: {:email => "rrphotosoft@gmail.com"},:api_key => @ap_key, :current_app_id => "testappid"}.to_json, @admin_headers
@@ -289,11 +308,325 @@ RSpec.describe "cart item request spec", :admin_create_user => true, :type => :r
289
308
  end
290
309
 
291
310
  context " -- validations --" do
292
- it " -- admin cannot simultaneously create user with email and mobile -- " do
311
+ it " -- admin can simultaneously create user with email and mobile -- ", :simultaneous_email_password => true do
312
+
313
+ post admin_create_users_path,{user: {:additional_login_param => "9561137096", :email => "bhargav.r.raut@gmail.com"},:api_key => @ap_key, :current_app_id => "testappid"}.to_json, @admin_headers
314
+
315
+ message = ActionMailer::Base.deliveries[-1] unless ActionMailer::Base.deliveries.blank?
316
+
317
+ expect(message).not_to be_blank
318
+
319
+ expect(response.code).to eq("201")
320
+
321
+ end
322
+
323
+ end
324
+
325
+ context " -- user with email and mobile -- ", :simult => true do
326
+
327
+ it " -- on verifying the email, a reset password link is sent by email, thereafter mobile can be verified, but reset password link is not sent again. -- ", :simult_email_sms_verify => true do
328
+
329
+
330
+ pwd = SecureRandom.hex(24)
331
+
332
+ attributes_for_user = {:email => Faker::Internet.email, :additional_login_param => "9561137096", :password => pwd, :password_confirmation => pwd, :created_by_admin => true}
333
+ user = User.new(attributes_for_user)
334
+
335
+ user.save
336
+
337
+ ## a confirmation email should have been sent.
338
+ message = ActionMailer::Base.deliveries[-1].to_s
339
+ confirmation_token = nil
340
+ message.scan(/confirmation_token=(?<confirmation_token>.*)\"/) do |ll|
341
+
342
+ j = Regexp.last_match
343
+ confirmation_token = j[:confirmation_token]
344
+
345
+ end
346
+
347
+ expect(confirmation_token).not_to be_nil
348
+
349
+ get user_confirmation_path,{confirmation_token: confirmation_token}
350
+
351
+ ## on confirming it should generate a reset_password_message.
352
+ ## get the base deliveries.
353
+ message = ActionMailer::Base.deliveries[-1].to_s
354
+ confirmation_token = nil
355
+ expect(message =~ /reset_password/).to be_truthy
356
+
357
+
358
+ @last_user_created = User.order_by(:confirmation_sent_at => 'desc').first
359
+
360
+
361
+
362
+ $otp_session_id = $redis.hget(@last_user_created.id.to_s + "_two_factor_sms_otp","otp_session_id")
363
+
364
+
365
+ @last_user_created.verify_sms_otp($otp_session_id)
366
+
367
+ ## this should send the reset password message.
368
+
369
+ @last_user_created = User.find(@last_user_created.id.to_s)
370
+
371
+ expect(@last_user_created.additional_login_param_confirmed?).to be_truthy
372
+
373
+ resource_ids = JSON.generate({User.name => [@last_user_created.id.to_s]})
374
+
375
+ n = Noti.where(:resource_ids => resource_ids).first
376
+
377
+ expect(n).to be_nil
378
+
379
+ end
380
+
381
+
382
+ it " -- on verifying the mobile, a reset password link is sent by mobile, thereafter email can be verified, but the reset password link is not resent -- ", :simult_two => true do
383
+
384
+ if u = User.where(:additional_login_param => "9561137096")
385
+ if u.size > 0
386
+ u.first.delete
387
+ end
388
+ end
389
+
390
+ ActionMailer::Base.deliveries = []
391
+
392
+
393
+ pwd = SecureRandom.hex(24)
394
+
395
+ attributes_for_user = {:email => Faker::Internet.email, :additional_login_param => "9561137096", :password => pwd, :password_confirmation => pwd, :created_by_admin => true}
396
+
397
+ user = User.new(attributes_for_user)
398
+
399
+ user.save
400
+
401
+ @last_user_created = User.order_by(:confirmation_sent_at => 'desc').first
402
+
403
+
404
+
405
+ $otp_session_id = $redis.hget(@last_user_created.id.to_s + "_two_factor_sms_otp","otp_session_id")
406
+
407
+
408
+ @last_user_created.verify_sms_otp($otp_session_id)
409
+
410
+ ## this should send the reset password message.
411
+
412
+ @last_user_created = User.find(@last_user_created.id.to_s)
413
+
414
+
415
+ expect(@last_user_created.additional_login_param_confirmed?).to be_truthy
416
+
417
+
418
+ resource_ids = JSON.generate({User.name => [@last_user_created.id.to_s]})
419
+
420
+ n = Noti.where(:resource_ids => resource_ids).first
421
+
422
+ expect(n).not_to be_nil
423
+
424
+ ## so the reset password message was sent.
425
+ ## now we try to verify the email.
426
+ ## and then a reset password message should not be
427
+ ## sent at that time.
428
+ message = ActionMailer::Base.deliveries[-1].to_s
429
+ #puts "the message becomes:"
430
+ #puts message.to_s
431
+ confirmation_token = nil
432
+ message.scan(/confirmation_token=(?<confirmation_token>.*)\"/) do |ll|
433
+
434
+ j = Regexp.last_match
435
+ confirmation_token = j[:confirmation_token]
436
+
437
+ end
438
+
439
+ expect(confirmation_token).not_to be_nil
440
+
441
+ ActionMailer::Base.deliveries = []
442
+
443
+ get user_confirmation_path,{confirmation_token: confirmation_token}
444
+
445
+ ## clear the base deliveries.
446
+ ## on confirming it should generate a reset_password_message.
447
+ ## get the base deliveries.
448
+ #message = ActionMailer::Base.deliveries[-1].to_s
449
+ #confirmation_token = nil
450
+ #expect(message =~ /reset_password/).not_to be_truthy
451
+ expect(ActionMailer::Base.deliveries).to be_blank
452
+ end
453
+
454
+ end
455
+
456
+
457
+ context " -- resend reset password token -- ", :resend_reset_password_token => true do
458
+
459
+ it " -- sends the reset password token to the mobile after the mobile has been verified on doing resend reset password link -- ", :resend_reset_password_to_mobile => true do
460
+
461
+ if u = User.where(:additional_login_param => "9561137096")
462
+ if u.size > 0
463
+ u.first.delete
464
+ end
465
+ end
466
+
467
+ pwd = SecureRandom.hex(24)
468
+
469
+ attributes_for_user = {:email => Faker::Internet.email, :additional_login_param => "9561137096", :password => pwd, :password_confirmation => pwd, :created_by_admin => true}
470
+
471
+ user = User.new(attributes_for_user)
472
+
473
+ user.save
474
+
475
+ @last_user_created = User.order_by(:confirmation_sent_at => 'desc').first
476
+
477
+
478
+ $otp_session_id = $redis.hget(@last_user_created.id.to_s + "_two_factor_sms_otp","otp_session_id")
479
+
480
+
481
+ @last_user_created.verify_sms_otp($otp_session_id)
482
+
483
+ ## this should send the reset password message.
484
+
485
+ @last_user_created = User.find(@last_user_created.id.to_s)
486
+
487
+
488
+ expect(@last_user_created.additional_login_param_confirmed?).to be_truthy
489
+
490
+
491
+ resource_ids = JSON.generate({User.name => [@last_user_created.id.to_s]})
492
+
493
+ n = Noti.where(:resource_ids => resource_ids)
494
+
495
+ expect(n.size).to eq(1)
496
+ #expect(n).not_to be_nil
497
+
498
+
499
+ ## now do resend reset password link
500
+ update_hash = {:resource => "users", :user => {:created_by_admin => true}, :api_key => @ap_key, :current_app_id => "testappid"}
501
+
502
+ put profile_path(:id => user.id.to_s), update_hash.to_json, @admin_headers
503
+
504
+ ## now it should have sent that message.
505
+
506
+ n = Noti.where(:resource_ids => resource_ids)
507
+
508
+ expect(n.size).to eq(2)
509
+
510
+ end
511
+
512
+
513
+ it " -- sends the reset password token to the email after the email has been verified on doing resent reset password link -- " do
514
+
515
+ if u = User.where(:additional_login_param => "9561137096")
516
+ if u.size > 0
517
+ u.first.delete
518
+ end
519
+ end
520
+
521
+ pwd = SecureRandom.hex(24)
522
+
523
+ attributes_for_user = {:email => Faker::Internet.email, :additional_login_param => "9561137096", :password => pwd, :password_confirmation => pwd, :created_by_admin => true}
524
+
525
+ user = User.new(attributes_for_user)
526
+
527
+ user.save
528
+
529
+ ## confirm the email.
530
+ message = ActionMailer::Base.deliveries[-1].to_s
531
+ confirmation_token = nil
532
+ message.scan(/confirmation_token=(?<confirmation_token>.*)\"/) do |ll|
533
+
534
+ j = Regexp.last_match
535
+ confirmation_token = j[:confirmation_token]
536
+
537
+ end
538
+
539
+ expect(confirmation_token).not_to be_nil
540
+
541
+ user = User.find(user.id)
542
+ user.confirm!
543
+
544
+
545
+ ActionMailer::Base.deliveries = []
546
+
547
+ update_hash = {:resource => "users", :user => {:created_by_admin => true}, :api_key => @ap_key, :current_app_id => "testappid"}
548
+
549
+ put profile_path(:id => user.id.to_s), update_hash.to_json, @admin_headers
550
+
551
+
552
+ message = ActionMailer::Base.deliveries[-1].to_s
553
+ expect(message =~ /reset_password/).to be_truthy
554
+
555
+
556
+ end
557
+
558
+ it " -- sends the reset password link to email, if both are confirmed, and resend_reset_password_token is triggered -- " do
559
+
560
+ if u = User.where(:additional_login_param => "9561137096")
561
+ if u.size > 0
562
+ u.first.delete
563
+ end
564
+ end
565
+
566
+ pwd = SecureRandom.hex(24)
567
+
568
+ attributes_for_user = {:email => Faker::Internet.email, :additional_login_param => "9561137096", :password => pwd, :password_confirmation => pwd, :created_by_admin => true}
569
+
570
+ user = User.new(attributes_for_user)
571
+
572
+ user.save
573
+
574
+ @last_user_created = User.order_by(:confirmation_sent_at => 'desc').first
575
+
576
+
577
+ $otp_session_id = $redis.hget(@last_user_created.id.to_s + "_two_factor_sms_otp","otp_session_id")
578
+
579
+
580
+ @last_user_created.verify_sms_otp($otp_session_id)
581
+
582
+ ## this should send the reset password message.
583
+
584
+ @last_user_created = User.find(@last_user_created.id.to_s)
585
+
586
+
587
+ expect(@last_user_created.additional_login_param_confirmed?).to be_truthy
588
+
589
+ ## it must have sent it to the email.
590
+
591
+
592
+ resource_ids = JSON.generate({User.name => [@last_user_created.id.to_s]})
593
+
594
+ n = Noti.where(:resource_ids => resource_ids)
595
+
596
+ expect(n.size).to eq(1)
597
+
598
+
599
+ ## confirm the email.
600
+ message = ActionMailer::Base.deliveries[-1].to_s
601
+ confirmation_token = nil
602
+ message.scan(/confirmation_token=(?<confirmation_token>.*)\"/) do |ll|
603
+
604
+ j = Regexp.last_match
605
+ confirmation_token = j[:confirmation_token]
606
+
607
+ end
608
+
609
+ expect(confirmation_token).not_to be_nil
610
+
611
+ user = User.find(user.id)
612
+ user.confirm!
613
+
614
+
615
+ ## now we trigger reset.
616
+ ## no new notifications
617
+ ActionMailer::Base.deliveries = []
618
+
619
+ update_hash = {:resource => "users", :user => {:created_by_admin => true}, :api_key => @ap_key, :current_app_id => "testappid"}
620
+
621
+ put profile_path(:id => user.id.to_s), update_hash.to_json, @admin_headers
622
+
623
+
624
+ message = ActionMailer::Base.deliveries[-1].to_s
625
+ expect(message =~ /reset_password/).to be_truthy
293
626
 
294
- post admin_create_users_path,{user: {:additional_login_param => "9561137096", :email => "doggy@gmail.com"},:api_key => @ap_key, :current_app_id => "testappid"}.to_json, @admin_headers
627
+ n = Noti.where(:resource_ids => resource_ids)
295
628
 
296
- expect(response.code).to eq("422")
629
+ expect(n.size).to eq(1)
297
630
 
298
631
  end
299
632