cmor_user_area 0.0.1.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +78 -0
  4. data/Rakefile +19 -0
  5. data/app/concerns/cmor/user_area/controller/current_user_concern.rb +64 -0
  6. data/app/concerns/cmor/user_area/controller/redirect_back_concern.rb +32 -0
  7. data/app/concerns/cmor/user_area/controller/store_current_user_concern.rb +25 -0
  8. data/app/controllers/cmor/user_area/current_users_controller.rb +11 -0
  9. data/app/controllers/cmor/user_area/password_reset_requests.rb +6 -0
  10. data/app/controllers/cmor/user_area/password_reset_requests/base_controller.rb +48 -0
  11. data/app/controllers/cmor/user_area/password_resets.rb +6 -0
  12. data/app/controllers/cmor/user_area/password_resets/base_controller.rb +48 -0
  13. data/app/controllers/cmor/user_area/sessions.rb +6 -0
  14. data/app/controllers/cmor/user_area/sessions/base_controller.rb +53 -0
  15. data/app/controllers/cmor/user_area/user_password_reset_requests_controller.rb +15 -0
  16. data/app/controllers/cmor/user_area/user_password_resets_controller.rb +9 -0
  17. data/app/controllers/cmor/user_area/user_sessions_controller.rb +9 -0
  18. data/app/controllers/cmor/user_area/users.rb +6 -0
  19. data/app/controllers/cmor/user_area/users/base_controller.rb +48 -0
  20. data/app/helpers/cmor/user_area_helper.rb +15 -0
  21. data/app/mailers/cmor/user_area/user_mailer.rb +12 -0
  22. data/app/models/cmor/user_area/user.rb +80 -0
  23. data/app/models/cmor/user_area/user_password_reset_request.rb +42 -0
  24. data/app/serializers/cmor/user_area/user_serializer.rb +7 -0
  25. data/app/services/cmor/user_area/application_service.rb +8 -0
  26. data/app/services/cmor/user_area/create_default_user_service.rb +36 -0
  27. data/app/sessions/cmor/user_area/session/base.rb +8 -0
  28. data/app/sessions/cmor/user_area/user_session.rb +8 -0
  29. data/app/view_helpers/cmor/user_area/application_view_helper.rb +44 -0
  30. data/app/views/cmor/user_area/_navigation.html.haml +13 -0
  31. data/app/views/cmor/user_area/current_users/_form.html.haml +3 -0
  32. data/app/views/cmor/user_area/current_users/_form_errors.html.haml +6 -0
  33. data/app/views/cmor/user_area/current_users/_head_extras.html.haml +0 -0
  34. data/app/views/cmor/user_area/current_users/_show.html.haml +14 -0
  35. data/app/views/cmor/user_area/current_users/_show_extras.html.haml +0 -0
  36. data/app/views/cmor/user_area/current_users/edit.html.haml +17 -0
  37. data/app/views/cmor/user_area/current_users/new.html.haml +15 -0
  38. data/app/views/cmor/user_area/current_users/show.html.haml +34 -0
  39. data/app/views/cmor/user_area/navigation_dropdown/_bootstrap3.html.haml +16 -0
  40. data/app/views/cmor/user_area/navigation_dropdown/_bootstrap4.html.haml +14 -0
  41. data/app/views/cmor/user_area/navigation_view_helper/bootstrap_4/_render.html.haml +10 -0
  42. data/app/views/cmor/user_area/navigation_view_helper/bootstrap_4/_render_dropdown.html.haml +15 -0
  43. data/app/views/cmor/user_area/password_reset_requests/base/_form.html.haml +1 -0
  44. data/app/views/cmor/user_area/password_reset_requests/base/_form_errors.html.haml +6 -0
  45. data/app/views/cmor/user_area/password_reset_requests/base/_head_extras.html.haml +0 -0
  46. data/app/views/cmor/user_area/password_reset_requests/base/new.haml +15 -0
  47. data/app/views/cmor/user_area/password_resets/base/_form.html.haml +2 -0
  48. data/app/views/cmor/user_area/password_resets/base/_form_errors.html.haml +6 -0
  49. data/app/views/cmor/user_area/password_resets/base/_head_extras.html.haml +0 -0
  50. data/app/views/cmor/user_area/password_resets/base/edit.haml +15 -0
  51. data/app/views/cmor/user_area/sessions/base/_form.html.haml +2 -0
  52. data/app/views/cmor/user_area/sessions/base/_form_errors.html.haml +6 -0
  53. data/app/views/cmor/user_area/sessions/base/_head_extras.html.haml +0 -0
  54. data/app/views/cmor/user_area/sessions/base/new.html.haml +17 -0
  55. data/app/views/cmor/user_area/user_mailer/password_reset_email.de.html.erb +11 -0
  56. data/app/views/cmor/user_area/user_mailer/password_reset_email.de.text.erb +9 -0
  57. data/app/views/cmor/user_area/user_mailer/password_reset_email.en.html.erb +12 -0
  58. data/app/views/cmor/user_area/user_mailer/password_reset_email.en.text.erb +9 -0
  59. data/app/views/home/index.html.erb +0 -0
  60. data/config/locales/authlogic.de.yml +24 -0
  61. data/config/locales/de.yml +132 -0
  62. data/config/locales/en.yml +126 -0
  63. data/config/routes.rb +19 -0
  64. data/db/migrate/20160115181043_create_cmor_user_area_users.rb +37 -0
  65. data/lib/cmor/user_area.rb +30 -0
  66. data/lib/cmor/user_area/configuration.rb +32 -0
  67. data/lib/cmor/user_area/engine.rb +8 -0
  68. data/lib/cmor/user_area/spec_helpers/feature.rb +62 -0
  69. data/lib/cmor/user_area/version.rb +7 -0
  70. data/lib/cmor_user_area.rb +10 -0
  71. data/lib/generators/cmor/user_area/install/install_generator.rb +38 -0
  72. data/lib/generators/cmor/user_area/install/templates/application_controller.source +3 -0
  73. data/lib/generators/cmor/user_area/install/templates/initializer.rb +60 -0
  74. data/lib/generators/cmor/user_area/install/templates/routes.source +2 -0
  75. data/lib/tasks/cmor_user_area_tasks.rake +8 -0
  76. data/spec/dummy/app/assets/config/manifest.js +3 -0
  77. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  78. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  79. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  80. data/spec/dummy/app/jobs/application_job.rb +2 -0
  81. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  82. data/spec/dummy/app/models/application_record.rb +3 -0
  83. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  84. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  85. data/spec/dummy/bin/update +31 -0
  86. data/spec/dummy/bin/yarn +11 -0
  87. data/spec/dummy/config/cable.yml +10 -0
  88. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  89. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  90. data/spec/dummy/config/puma.rb +34 -0
  91. data/spec/dummy/config/spring.rb +6 -0
  92. data/spec/dummy/config/storage.yml +34 -0
  93. data/spec/dummy/db/development.sqlite3 +0 -0
  94. data/spec/dummy/db/migrate/20190325192603_create_active_storage_tables.active_storage.rb +27 -0
  95. data/spec/dummy/db/migrate/20190325192624_create_cmor_user_area_users.cmor_user_area.rb +38 -0
  96. data/spec/dummy/db/test.sqlite3 +0 -0
  97. data/spec/dummy/lib/templates/haml/scaffold/_form.html.haml +12 -0
  98. data/spec/dummy/log/development.log +108 -0
  99. data/spec/dummy/log/test.log +509 -0
  100. data/spec/dummy/package.json +5 -0
  101. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  102. data/spec/dummy/public/apple-touch-icon.png +0 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-w/-wwQdyEeejIS0ptNkDb8CotcFEz8shbr_mHkZA7OevQ.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2J/2JZ8VAYhkBcWE3sok5fqFK1opx8vf16OKQxVHfUPn4k.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4T/4TkMgJg6Zk3-hcNYiEywIW5XROuYtAcnmPk9_0I7clg.cache +0 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/58/584AkuPUz7HNQZLo41hVlC43-zDp6wQiwQjwuqNORRY.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5L/5L-FSYLjBxDmPgzI_CAYGDk-9Mni9w9C57XkJeyt5LA.cache +1 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6e/6eHLns1-9lpL1ONXkJHSM9src6rLg-c1X_ABZTpGJU0.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/79/79jR4Uf_pUhttCKeRR-xEPMITP6aTnSgtQIa8EfUW8E.cache +2 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7R/7RJVJLrYkQmkJ9Sl8MmsOoQEZ8h9ZjROviFb0SniYcs.cache +1 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8-/8-QQLtMujDnjyd2fI0Ygw5qXaATxumVuyPKDpUWewKE.cache +2 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8B/8BjefZm87J3KSHa70sBrLglaelKVHts_WPz85SBILbw.cache +0 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8Q/8Qv0pOFexuQn3xn0g8_E7UAZoZjcSudR3eCadt2r1ic.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AE/AEkMvfX2UxO0g0t28U8GjbECOIWvVNlR03X0ab1M4tE.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AR/ARfYs31IhL3pDDp_oJE4RzmDigur1JRJkqZpRTyt1M8.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Aq/AqM1YgA1Ku-odROqZQDyMn3C45ppUn4qo1QscS5TAL4.cache +0 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bz/BzORlUIjpUN9Hsz7XbBmcaQFd_l4HfoJkJw0t4nAKjc.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C5/C5D4T0_nOZRxlB1Kr3YBjpAz13VAaGm5141p_IqSHEw.cache +3 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D2/D2ri1FdDjnUlgaCehETUAH9MBudGFni8BhvIeGwF46s.cache +1 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DX/DXbHDrIcECN1YE2zwFlHXwUEsa9Nc1OnPX_baI13PI8.cache +1 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EK/EK4OLCBAIT0sqfYnC571wtOio3A88k5mjqemmHXRvME.cache +0 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ex/Exni9T-N0D00xhk9o73AIRL5YUOyHlJTj0i9YuzvnvQ.cache +1 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F7/F74fucogx91yB5PW70H7x0uAJV_sYuVfbAg73rR-wUI.cache +3 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H5/H5OObbRUl_LDveW5FbD_ypXLGfV1jkVsOYxMVonPdRU.cache +0 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +2 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HZ/HZ1iRdzAHZ8o4HrWUPniUmrldI0rrw3czGHIlhKx20Q.cache +2 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hx/HxDhLNAjgpAjWKLIYCTcv1gXd11GGWXDRkGMlW1ZL4o.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ia/Iamg0tlKTyWQONN43wFwQ4e-seFD8rm8Tf-G72HPyP4.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K9/K9crSvC2UPnYrdvz_jmuiFaHNpGz63JZnWi2--YxO7A.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KU/KUadIyonXR1Vyz07b6lra7kQIWQVonzIiOzZCJOK4IE.cache +3 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kq/Kqu-8GldLxbnQ5PYr_P_Xv6O-g9ty5ReXacceHUMDiY.cache +0 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kz/KzLDCKAT9oKrukAg9tFB8mtVV7bPiIGpiFUeS1TljEQ.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LW/LWYc1nv4Bh5BbSrhl4B1cnaH5Qqks2CqNagjBrxfoDY.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MC/MCuEd_HWd5C2COVhVm23pI9wjRXLZI7gB5cNb6b_5X4.cache +1 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mb/MbgYygU0CWG73XoEOS94Vyil9b_iyKja00eXefGa5LM.cache +0 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mm/MmSp1Be-PB_hAasIwNDehj1aIpBVchE9WrMEIgD67SA.cache +1 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NA/NA7TG8OGXra5NGU5ptqd0TbvuCX0sB2U1SUbbOgo_ik.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ng/NgoumFe4ZOSieHJ2XRgYhOlgTLS35s0DyU58x7HfI2A.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oo/OoGJC7rHNFMAE-SQlL4eOy8lPJR8Y4cN0zSRnygkHY8.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PD/PD99Bcd5AQWB3NVDhz4dX9LI8A31bqUs4N-qUdEFCAE.cache +1 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PI/PIysz08byyvXlaQfthLgm79fjzz0rZ0el42dAQq2hf8.cache +1 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P_/P_UMpytd32vzaBB9OmSyfMhsloRkvkvWbGJU1cY-_T0.cache +1 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q7/Q7JnF7XNGFTeq0tZ_T2eaASvv6XImGz7QxxPWYcA3g0.cache +1 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qn/QntQgTSCYnhbiX4LoprBXIqyz2RyRzOJiKazX9xHuu8.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R6/R6W1OhmXADlwn2paOoImbgcKCpB8tY4uwtVA27HImuc.cache +3 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rs/RscE5VBWfyXMQo35So2JtRTyNa8kpDdAjWTM96exJtw.cache +1 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SB/SByKDoOgon_c4yw7Hg6SUt7e3nBnAiFe0PmKjQKgP38.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SC/SCj7IBUBBJModudbkHhWngiTTDj1t5ZhW5PfZA0HGHQ.cache +1 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TM/TMb1cGxkrsKz17sDCtqbWN-Jh6QxyKU_ltbBTBTsZVc.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tp/TpmeWw1QJfLYcmHo3aqXMUTmK3_tppjOTY6Bhmm5z4c.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U2/U2ziIOj8cbeulgezpTOzcrhnd7Z8mGLcFNHHLRS6v_w.cache +2 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Uz/UzRlBw63ovNsxNNbz6WVQPkQx_g01AT7k9JzvmLbmZ8.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VS/VSliUoy2QKm5bR_26CTaylVZY4o61YuE0gr5kqU6UJE.cache +0 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vr/VrtEHnJmqjZwGxBqPWkxmfbuNoZ_ZlWNmLzKRC924FU.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W5/W5NIwCJ2YK1p63ZkfQtu4M00FVW772ITtEBrY9xYfYI.cache +1 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xk/XkVHFvPaI-xAbAcXZSv_EslOO0sXQSOJi2v9-w5UyE4.cache +1 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xv/XvoUclLVplyO9UQw8e-98EJElxKytnIKdeiw8cN1tAk.cache +1 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yp/YpBWosQuOX-dGPr1EDa4wnkCPyZdLhq-0vKhfbMWsUY.cache +0 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YubKG280u8nFXEY4CvadpgzyDbeevIL7SFUQeFA_0X4.cache +0 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zj/ZjK1fvOKdajGTfU5pRn8x2UWgX8GWvuTXo24RENXREM.cache +1 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_U/_Uz5da-URnRhVpIycPwOq3dvEZay17seoAYyPNNT_d4.cache +1 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_v/_vHhLuv_HO3ndie5PLld1rfmAfh8Y54vtbj14lnA97w.cache +0 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aQ/aQL0CNPS5ESzN5XcS9o8NF7i4bv4pCm0xdrA7vfw5fc.cache +2 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aR/aR5t7yCAR6IoNonATlf4QuZZSFc4k_ERK1u2fltqois.cache +1 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bD/bDIuRJAlDi98cyI-tv6gf95cK6b2lDclVk6gw7-4yQE.cache +1 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bl/blP7I9wrpMZirmqxSinkxvHgn7dwfxBAvHlUkCTQf9Q.cache +1 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bu/buXbbv7z8SqC7DAPe_4Oip10Xm9GRMFE9VIlCHH3pDQ.cache +1 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c7/c7CooReQb2ejxEumMNCGRid6lhlPFxxlYhiSx0BnFf4.cache +1 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dG/dG2st3mUGsh-8yC115nqU2IltElHJVNhu2vRfijxs20.cache +1 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dp/dpzW4cK3NsJEHAYf7z-nszapTBk7oQrhBPjmkIoZoXQ.cache +1 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eJ/eJhiyiHTMJUDd_OqCXD93jBwAivnKRBa5x5qtFrxQj8.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fR/fRbCj1aNB38O-9pznPKZJ-EZoFXBeVilAs0WroTkIEM.cache +1 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fU/fUQKkajuOuSLJQtRtjum4rOrJsTBFTgtwktNG4QVlrQ.cache +1 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fq/fqqy6XMocl_Tx0nWsOC1LQ_uj3jUrV-CN8kMgtDR0Bc.cache +2 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gd/gdC8KjHpTRTYsyeT0HoM5RR_ZKDCK_4XKXQO81ArNlM.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iJ/iJM3CTsQFj5rof3eJPd4ioz8cgWWJie0byeOy7L6Nng.cache +1 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i_/i_s59CkDPBCbkVzR2yxiT9kpEI1B0pO0OYOIwTGpkcI.cache +2 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ip/ipi1NeZWfWKRKJ3wXF6d_iPE8V0BdYHjDxYhBLc98A8.cache +0 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j1/j1BQXikuCXkgfl_ekvX7byh1qZLEg4hhbmTdGdJVijs.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jK/jKHqW1VBzFtw_WgOZ-5WFrod_nbiYJ_Duey1VZXs3Mo.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jU/jUmxOIOwQBdZhDyVmTtD0UUEWZz_9Iu64WY59bXHgs0.cache +1 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kD/kDartayL6A6j26rd-NkFIU9yqvIIJh9IUdiLsbuHoPY.cache +1 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lD/lDkdR_Yvju7JvBiTO_3OE9ADzuVk-4T_JvDZhPSpmXk.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lS/lStvx9Beg2l4s8L-QdTSKuc5_qQPQAZPnIcRI7JkpPE.cache +2 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nI/nIKQa784qYcxM8_rmLncqiSL4jWWsKrqq19GrEprQ34.cache +1 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nq/nqBvCfX72u2EvAyNfHt3upjIFz009V5YYgwPmmaNRH4.cache +3 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nt/ntry6y5LOGB3mXS76ylx-eIcul__UqoQoqB4-0eaNnI.cache +2 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qq/qqeUBxpDPTNXL2hYWXX8t_E_jxRkRpjhJR-FcdiLWr0.cache +3 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qt/qtFUQpglBnMnPpRsGKkhr2rqj9Ub3yOf_h01fudm3pc.cache +0 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sm/smkjNAEzX7uLiRZnQA38poQvnhHE5uHIlMpkirr_K04.cache +2 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_O7CAdXG7icZucqoA971FxfXpz7XWC8PtjH-Z1HIFU.cache +3 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vw/vw4hWcAaXGLEo2E8KRM86fVgJAvs7q3qkZYmkI2UYG0.cache +2 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w8/w8XS90xe44-zLTirkVNvEMgky0Iu-y4R4tWoQTHOkWA.cache +1 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wH/wHiXMAfKVNHdoxvX_7U_fJX97Kv2TDg5VZs6QQGgM7k.cache +1 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wY/wYXscG863_Dznp_gsU3c1NlFGjKgloZPKnaFeHYhgLg.cache +0 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wi/win_v0ZNu-l7AoRx8w3ls1xcy0mUExLBVMCSr5oaJFc.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ws/wsn2nUkOEHSwCK9Q1WpZekvvnYE5COQwF3keiKR9-0A.cache +1 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yM/yMREEbi29WAWRdWlQTj_ovW5SHtEt1exOy8aWy1PCI4.cache +1 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yq/yqxTsMP8kmCSie9aYhLgHs_Db7h-sSa5vmqZZJUtwv0.cache +0 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yr/yrp_60uUSk5SlU1028XR4AIpun11BkJJOvIgatVUYBQ.cache +2 -0
  203. data/spec/dummy/tmp/development_secret.txt +1 -0
  204. data/spec/dummy~/Rakefile +6 -0
  205. data/spec/dummy~/app/assets/config/manifest.js +3 -0
  206. data/spec/dummy~/app/assets/javascripts/application.js +15 -0
  207. data/spec/dummy~/app/assets/javascripts/cable.js +13 -0
  208. data/spec/dummy~/app/assets/stylesheets/application.css +15 -0
  209. data/spec/dummy~/app/channels/application_cable/channel.rb +4 -0
  210. data/spec/dummy~/app/channels/application_cable/connection.rb +4 -0
  211. data/spec/dummy~/app/controllers/application_controller.rb +7 -0
  212. data/spec/dummy~/app/controllers/home_controller.rb +3 -0
  213. data/spec/dummy~/app/helpers/application_helper.rb +2 -0
  214. data/spec/dummy~/app/jobs/application_job.rb +2 -0
  215. data/spec/dummy~/app/mailers/application_mailer.rb +4 -0
  216. data/spec/dummy~/app/models/application_record.rb +3 -0
  217. data/spec/dummy~/app/views/home/index.html.erb +1 -0
  218. data/spec/dummy~/app/views/layouts/application.html.erb +17 -0
  219. data/spec/dummy~/app/views/layouts/mailer.html.erb +13 -0
  220. data/spec/dummy~/app/views/layouts/mailer.text.erb +1 -0
  221. data/spec/dummy~/bin/bundle +3 -0
  222. data/spec/dummy~/bin/rails +4 -0
  223. data/spec/dummy~/bin/rake +4 -0
  224. data/spec/dummy~/bin/setup +36 -0
  225. data/spec/dummy~/bin/update +31 -0
  226. data/spec/dummy~/bin/yarn +11 -0
  227. data/spec/dummy~/config.ru +5 -0
  228. data/spec/dummy~/config/application.rb +30 -0
  229. data/spec/dummy~/config/boot.rb +5 -0
  230. data/spec/dummy~/config/cable.yml +10 -0
  231. data/spec/dummy~/config/database.yml +25 -0
  232. data/spec/dummy~/config/environment.rb +5 -0
  233. data/spec/dummy~/config/environments/development.rb +61 -0
  234. data/spec/dummy~/config/environments/production.rb +94 -0
  235. data/spec/dummy~/config/environments/test.rb +46 -0
  236. data/spec/dummy~/config/initializers/application_controller_renderer.rb +8 -0
  237. data/spec/dummy~/config/initializers/assets.rb +14 -0
  238. data/spec/dummy~/config/initializers/backtrace_silencers.rb +7 -0
  239. data/spec/dummy~/config/initializers/cmor_user_area.rb +60 -0
  240. data/spec/dummy~/config/initializers/content_security_policy.rb +25 -0
  241. data/spec/dummy~/config/initializers/cookies_serializer.rb +5 -0
  242. data/spec/dummy~/config/initializers/filter_parameter_logging.rb +4 -0
  243. data/spec/dummy~/config/initializers/i18n.rb +2 -0
  244. data/spec/dummy~/config/initializers/inflections.rb +16 -0
  245. data/spec/dummy~/config/initializers/mime_types.rb +4 -0
  246. data/spec/dummy~/config/initializers/route_translator.rb +3 -0
  247. data/spec/dummy~/config/initializers/simple_form.rb +179 -0
  248. data/spec/dummy~/config/initializers/simple_form_bootstrap.rb +439 -0
  249. data/spec/dummy~/config/initializers/wrap_parameters.rb +14 -0
  250. data/spec/dummy~/config/locales/en.yml +33 -0
  251. data/spec/dummy~/config/locales/simple_form.en.yml +31 -0
  252. data/spec/dummy~/config/puma.rb +34 -0
  253. data/spec/dummy~/config/routes.rb +6 -0
  254. data/spec/dummy~/config/spring.rb +6 -0
  255. data/spec/dummy~/config/storage.yml +34 -0
  256. data/spec/dummy~/db/development.sqlite3 +0 -0
  257. data/spec/dummy~/db/migrate/20190325182101_create_active_storage_tables.active_storage.rb +27 -0
  258. data/spec/dummy~/db/migrate/20190325182124_create_cmor_user_area_users.cmor_user_area.rb +38 -0
  259. data/spec/dummy~/db/schema.rb +57 -0
  260. data/spec/dummy~/db/test.sqlite3 +0 -0
  261. data/spec/dummy~/lib/templates/haml/scaffold/_form.html.haml +12 -0
  262. data/spec/dummy~/log/development.log +108 -0
  263. data/spec/dummy~/log/test.log +2471 -0
  264. data/spec/dummy~/package.json +5 -0
  265. data/spec/dummy~/public/404.html +67 -0
  266. data/spec/dummy~/public/422.html +67 -0
  267. data/spec/dummy~/public/500.html +66 -0
  268. data/spec/dummy~/public/apple-touch-icon-precomposed.png +0 -0
  269. data/spec/dummy~/public/apple-touch-icon.png +0 -0
  270. data/spec/dummy~/public/favicon.ico +0 -0
  271. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/-w/-wwQdyEeejIS0ptNkDb8CotcFEz8shbr_mHkZA7OevQ.cache +0 -0
  272. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/0L/0L3l7M3Aw2FFbzcBBR_--7OUYxk8hcS4Wlu_XsRSDM8.cache +2 -0
  273. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/2J/2JZ8VAYhkBcWE3sok5fqFK1opx8vf16OKQxVHfUPn4k.cache +1 -0
  274. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/4T/4TkMgJg6Zk3-hcNYiEywIW5XROuYtAcnmPk9_0I7clg.cache +0 -0
  275. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/58/584AkuPUz7HNQZLo41hVlC43-zDp6wQiwQjwuqNORRY.cache +0 -0
  276. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/5L/5L-FSYLjBxDmPgzI_CAYGDk-9Mni9w9C57XkJeyt5LA.cache +1 -0
  277. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/6e/6eHLns1-9lpL1ONXkJHSM9src6rLg-c1X_ABZTpGJU0.cache +1 -0
  278. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/79/79jR4Uf_pUhttCKeRR-xEPMITP6aTnSgtQIa8EfUW8E.cache +2 -0
  279. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/7R/7RJVJLrYkQmkJ9Sl8MmsOoQEZ8h9ZjROviFb0SniYcs.cache +1 -0
  280. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/8-/8-QQLtMujDnjyd2fI0Ygw5qXaATxumVuyPKDpUWewKE.cache +2 -0
  281. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/8B/8BjefZm87J3KSHa70sBrLglaelKVHts_WPz85SBILbw.cache +0 -0
  282. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/8Q/8Qv0pOFexuQn3xn0g8_E7UAZoZjcSudR3eCadt2r1ic.cache +0 -0
  283. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/AE/AEkMvfX2UxO0g0t28U8GjbECOIWvVNlR03X0ab1M4tE.cache +1 -0
  284. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/AR/ARfYs31IhL3pDDp_oJE4RzmDigur1JRJkqZpRTyt1M8.cache +0 -0
  285. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Bz/BzORlUIjpUN9Hsz7XbBmcaQFd_l4HfoJkJw0t4nAKjc.cache +0 -0
  286. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/C5/C5D4T0_nOZRxlB1Kr3YBjpAz13VAaGm5141p_IqSHEw.cache +3 -0
  287. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/D2/D2ri1FdDjnUlgaCehETUAH9MBudGFni8BhvIeGwF46s.cache +1 -0
  288. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/DX/DXbHDrIcECN1YE2zwFlHXwUEsa9Nc1OnPX_baI13PI8.cache +1 -0
  289. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/EK/EK4OLCBAIT0sqfYnC571wtOio3A88k5mjqemmHXRvME.cache +0 -0
  290. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/ER/ERPQ7A3b0mTnn9d8QlhN1aXbgctkxjyHHMSFndZKr8Q.cache +1 -0
  291. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Ex/Exni9T-N0D00xhk9o73AIRL5YUOyHlJTj0i9YuzvnvQ.cache +1 -0
  292. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/F7/F74fucogx91yB5PW70H7x0uAJV_sYuVfbAg73rR-wUI.cache +3 -0
  293. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/H5/H5OObbRUl_LDveW5FbD_ypXLGfV1jkVsOYxMVonPdRU.cache +0 -0
  294. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +2 -0
  295. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/HZ/HZ1iRdzAHZ8o4HrWUPniUmrldI0rrw3czGHIlhKx20Q.cache +2 -0
  296. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Hx/HxDhLNAjgpAjWKLIYCTcv1gXd11GGWXDRkGMlW1ZL4o.cache +1 -0
  297. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/IW/IWKVc2Gu-3rbS86e5x9A7ObGXbPJIewKUHDwr5iVfF0.cache +1 -0
  298. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/K9/K9crSvC2UPnYrdvz_jmuiFaHNpGz63JZnWi2--YxO7A.cache +1 -0
  299. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/KU/KUadIyonXR1Vyz07b6lra7kQIWQVonzIiOzZCJOK4IE.cache +3 -0
  300. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Kq/Kqu-8GldLxbnQ5PYr_P_Xv6O-g9ty5ReXacceHUMDiY.cache +0 -0
  301. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Kz/KzLDCKAT9oKrukAg9tFB8mtVV7bPiIGpiFUeS1TljEQ.cache +0 -0
  302. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/LG/LGE964MRn5WMX_YbXsO2igHkYOYhxyjImaCJDwBtS3Y.cache +1 -0
  303. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/LW/LWYc1nv4Bh5BbSrhl4B1cnaH5Qqks2CqNagjBrxfoDY.cache +0 -0
  304. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/MC/MCuEd_HWd5C2COVhVm23pI9wjRXLZI7gB5cNb6b_5X4.cache +1 -0
  305. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Mb/MbgYygU0CWG73XoEOS94Vyil9b_iyKja00eXefGa5LM.cache +0 -0
  306. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Mm/MmSp1Be-PB_hAasIwNDehj1aIpBVchE9WrMEIgD67SA.cache +1 -0
  307. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/NA/NA7TG8OGXra5NGU5ptqd0TbvuCX0sB2U1SUbbOgo_ik.cache +1 -0
  308. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Ng/NgoumFe4ZOSieHJ2XRgYhOlgTLS35s0DyU58x7HfI2A.cache +0 -0
  309. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/PD/PD99Bcd5AQWB3NVDhz4dX9LI8A31bqUs4N-qUdEFCAE.cache +1 -0
  310. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/PI/PIysz08byyvXlaQfthLgm79fjzz0rZ0el42dAQq2hf8.cache +1 -0
  311. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/P_/P_UMpytd32vzaBB9OmSyfMhsloRkvkvWbGJU1cY-_T0.cache +1 -0
  312. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Q7/Q7JnF7XNGFTeq0tZ_T2eaASvv6XImGz7QxxPWYcA3g0.cache +1 -0
  313. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/R6/R6W1OhmXADlwn2paOoImbgcKCpB8tY4uwtVA27HImuc.cache +3 -0
  314. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Rs/RscE5VBWfyXMQo35So2JtRTyNa8kpDdAjWTM96exJtw.cache +1 -0
  315. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/SB/SByKDoOgon_c4yw7Hg6SUt7e3nBnAiFe0PmKjQKgP38.cache +1 -0
  316. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/TM/TMb1cGxkrsKz17sDCtqbWN-Jh6QxyKU_ltbBTBTsZVc.cache +0 -0
  317. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Tp/TpmeWw1QJfLYcmHo3aqXMUTmK3_tppjOTY6Bhmm5z4c.cache +1 -0
  318. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Uv/UvwNLurdraCmHtUt2p2sAyLjc0CLIi4rMrgbZ_gX3QU.cache +0 -0
  319. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Uz/UzRlBw63ovNsxNNbz6WVQPkQx_g01AT7k9JzvmLbmZ8.cache +0 -0
  320. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/VS/VSliUoy2QKm5bR_26CTaylVZY4o61YuE0gr5kqU6UJE.cache +0 -0
  321. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Vr/VrtEHnJmqjZwGxBqPWkxmfbuNoZ_ZlWNmLzKRC924FU.cache +1 -0
  322. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/W5/W5NIwCJ2YK1p63ZkfQtu4M00FVW772ITtEBrY9xYfYI.cache +1 -0
  323. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Xk/XkVHFvPaI-xAbAcXZSv_EslOO0sXQSOJi2v9-w5UyE4.cache +1 -0
  324. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Xv/XvoUclLVplyO9UQw8e-98EJElxKytnIKdeiw8cN1tAk.cache +1 -0
  325. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Yp/YpBWosQuOX-dGPr1EDa4wnkCPyZdLhq-0vKhfbMWsUY.cache +0 -0
  326. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Yu/YubKG280u8nFXEY4CvadpgzyDbeevIL7SFUQeFA_0X4.cache +0 -0
  327. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/Zj/ZjK1fvOKdajGTfU5pRn8x2UWgX8GWvuTXo24RENXREM.cache +1 -0
  328. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/_U/_Uz5da-URnRhVpIycPwOq3dvEZay17seoAYyPNNT_d4.cache +1 -0
  329. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/_v/_vHhLuv_HO3ndie5PLld1rfmAfh8Y54vtbj14lnA97w.cache +0 -0
  330. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/aF/aFH86QOIHdQC7ZEGpM8MR_9E4H3_VvYLHAQpVSe7foc.cache +1 -0
  331. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/aQ/aQL0CNPS5ESzN5XcS9o8NF7i4bv4pCm0xdrA7vfw5fc.cache +2 -0
  332. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/aR/aR5t7yCAR6IoNonATlf4QuZZSFc4k_ERK1u2fltqois.cache +1 -0
  333. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/bD/bDIuRJAlDi98cyI-tv6gf95cK6b2lDclVk6gw7-4yQE.cache +1 -0
  334. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/bl/blP7I9wrpMZirmqxSinkxvHgn7dwfxBAvHlUkCTQf9Q.cache +1 -0
  335. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/bu/buXbbv7z8SqC7DAPe_4Oip10Xm9GRMFE9VIlCHH3pDQ.cache +1 -0
  336. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/c7/c7CooReQb2ejxEumMNCGRid6lhlPFxxlYhiSx0BnFf4.cache +1 -0
  337. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/dA/dAHQRa7vNh2S7w1XeJtr1U_6dY_0QjlBx4dYo1UQHOg.cache +1 -0
  338. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/dG/dG2st3mUGsh-8yC115nqU2IltElHJVNhu2vRfijxs20.cache +1 -0
  339. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/dp/dpzW4cK3NsJEHAYf7z-nszapTBk7oQrhBPjmkIoZoXQ.cache +1 -0
  340. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/eJ/eJhiyiHTMJUDd_OqCXD93jBwAivnKRBa5x5qtFrxQj8.cache +1 -0
  341. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/fR/fRbCj1aNB38O-9pznPKZJ-EZoFXBeVilAs0WroTkIEM.cache +1 -0
  342. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/fU/fUQKkajuOuSLJQtRtjum4rOrJsTBFTgtwktNG4QVlrQ.cache +1 -0
  343. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/fq/fqqy6XMocl_Tx0nWsOC1LQ_uj3jUrV-CN8kMgtDR0Bc.cache +2 -0
  344. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/gd/gdC8KjHpTRTYsyeT0HoM5RR_ZKDCK_4XKXQO81ArNlM.cache +0 -0
  345. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/i_/i_s59CkDPBCbkVzR2yxiT9kpEI1B0pO0OYOIwTGpkcI.cache +2 -0
  346. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/ip/ipi1NeZWfWKRKJ3wXF6d_iPE8V0BdYHjDxYhBLc98A8.cache +0 -0
  347. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/j1/j1BQXikuCXkgfl_ekvX7byh1qZLEg4hhbmTdGdJVijs.cache +0 -0
  348. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/jK/jKHqW1VBzFtw_WgOZ-5WFrod_nbiYJ_Duey1VZXs3Mo.cache +0 -0
  349. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/jU/jUmxOIOwQBdZhDyVmTtD0UUEWZz_9Iu64WY59bXHgs0.cache +1 -0
  350. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/kD/kDartayL6A6j26rd-NkFIU9yqvIIJh9IUdiLsbuHoPY.cache +1 -0
  351. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/lS/lStvx9Beg2l4s8L-QdTSKuc5_qQPQAZPnIcRI7JkpPE.cache +2 -0
  352. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/nI/nIKQa784qYcxM8_rmLncqiSL4jWWsKrqq19GrEprQ34.cache +1 -0
  353. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  354. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/nq/nqBvCfX72u2EvAyNfHt3upjIFz009V5YYgwPmmaNRH4.cache +3 -0
  355. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/nt/ntry6y5LOGB3mXS76ylx-eIcul__UqoQoqB4-0eaNnI.cache +2 -0
  356. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  357. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/qq/qqeUBxpDPTNXL2hYWXX8t_E_jxRkRpjhJR-FcdiLWr0.cache +3 -0
  358. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/qt/qtFUQpglBnMnPpRsGKkhr2rqj9Ub3yOf_h01fudm3pc.cache +0 -0
  359. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/sm/smkjNAEzX7uLiRZnQA38poQvnhHE5uHIlMpkirr_K04.cache +2 -0
  360. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/tT/tTXQZvDRiDXhq7fbuy2-ynEkHbWEWkZixvWp8TOC7vQ.cache +1 -0
  361. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/v_/v_O7CAdXG7icZucqoA971FxfXpz7XWC8PtjH-Z1HIFU.cache +3 -0
  362. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/vw/vw4hWcAaXGLEo2E8KRM86fVgJAvs7q3qkZYmkI2UYG0.cache +2 -0
  363. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/w8/w8XS90xe44-zLTirkVNvEMgky0Iu-y4R4tWoQTHOkWA.cache +1 -0
  364. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/wH/wHiXMAfKVNHdoxvX_7U_fJX97Kv2TDg5VZs6QQGgM7k.cache +1 -0
  365. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/wY/wYXscG863_Dznp_gsU3c1NlFGjKgloZPKnaFeHYhgLg.cache +0 -0
  366. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/wi/win_v0ZNu-l7AoRx8w3ls1xcy0mUExLBVMCSr5oaJFc.cache +0 -0
  367. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/ws/wsn2nUkOEHSwCK9Q1WpZekvvnYE5COQwF3keiKR9-0A.cache +1 -0
  368. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/yM/yMREEbi29WAWRdWlQTj_ovW5SHtEt1exOy8aWy1PCI4.cache +1 -0
  369. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/yq/yqxTsMP8kmCSie9aYhLgHs_Db7h-sSa5vmqZZJUtwv0.cache +0 -0
  370. data/spec/dummy~/tmp/cache/assets/sprockets/v3.0/yr/yrp_60uUSk5SlU1028XR4AIpun11BkJJOvIgatVUYBQ.cache +2 -0
  371. data/spec/dummy~/tmp/development_secret.txt +1 -0
  372. data/spec/factories/cmor/user_area/users.rb +15 -0
  373. data/spec/features/authentication_feature_spec.rb +32 -0
  374. data/spec/features/registration_feature_spec.rb +76 -0
  375. data/spec/models/cmor/user_area/user_spec.rb +7 -0
  376. data/spec/models/generic_spec.rb +49 -0
  377. data/spec/models/i18n_spec.rb +40 -0
  378. data/spec/models~/generic_spec.rb +33 -0
  379. data/spec/rails_helper.rb +62 -0
  380. data/spec/rails_helper.rb~ +57 -0
  381. data/spec/services/cmor/user_area/create_default_user_service_spec.rb +36 -0
  382. data/spec/spec_helper.rb +96 -0
  383. data/spec/spec_helper.rb~ +90 -0
  384. data/spec/support/capybara.rb +1 -0
  385. data/spec/support/factory_bot.rb +5 -0
  386. data/spec/support/pry-rails.rb +1 -0
  387. data/spec/support/rao-shoulda_matchers.rb +5 -0
  388. data/spec/support/shoulda_matchers.rb +8 -0
  389. data/spec/support~/capybara.rb +1 -0
  390. data/spec/support~/factory_girl.rb +5 -0
  391. data/spec/support~/formulaic.rb +5 -0
  392. metadata +797 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 577ff124ebe4064684580550735d5f1ce9270912d1dd375e6d2daddc6e672910
4
+ data.tar.gz: 13a7aebd005de71bfd7a250fc030c3b089af281fe7e5dda588e4b809db3abd44
5
+ SHA512:
6
+ metadata.gz: 7431a27ce166f7504d3811ace8abd77c7690f1ff4b44e04d7ac5e2e8fdf2de4d627c0ac3a5f05b04ba0b2869c8cce909f08d4878755214fb15387995ee5d648c
7
+ data.tar.gz: 6f279ac3d656247ec55d4a156b4e6e24e809fdb0e131fb67fc7fedafe248f033f3b9f1330834b9613c27f0cdcb45b0ce4020a92458b174e538b0a39a42a3715f
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Roberto Vasquez Angel
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,78 @@
1
+ = CMOR User Area
2
+
3
+ = Migration to 4.0.0
4
+
5
+ Defining after_sign_in_url in the controller is not supported anymore. Control
6
+ the after sign in location by configuring it in the initializer:
7
+
8
+ # config/initalizers/cmor_user_area.rb
9
+ Cmor::UserArea.configure do |config|
10
+ config.after_sign_in_url = ->(controller) { last_location || main_app.root_path }
11
+ end
12
+
13
+ = Installation
14
+
15
+ Add it to your Gemfile:
16
+
17
+ # Gemfile
18
+ gem 'cmor_user_area2'
19
+
20
+ Install:
21
+
22
+ rails g cmor:user_area:install
23
+
24
+ Add Migrations and migrate:
25
+
26
+ rake cmor_user_area:install:migrations && rake db:migrate
27
+
28
+ Optionally, create a default user (user@example.com/password):
29
+
30
+ rake cmor:user_area:create_default_user
31
+
32
+ Add routes:
33
+
34
+ # config/routes.rb
35
+ mount Cmor::UserArea::Engine, at: '/auth'
36
+
37
+ Add current_user helpers to your application controller:
38
+
39
+ # app/controllers/application_controller.rb
40
+ include Cmor::UserArea::Controller::RedirectBackConcern
41
+ include Cmor::UserArea::Controller::CurrentUserConcern
42
+
43
+
44
+ = Usage
45
+
46
+ to secure a controller, add following before_action:
47
+
48
+ # app/controllers/my_secure_controller.rb
49
+ before_action :authenticate_user!
50
+
51
+ When you visit any controller actions, you will be redirected to the sign in form.
52
+
53
+
54
+ = Adding helper methods
55
+
56
+ # app/controllers/application_controller.rb
57
+ include Cmor::UserArea::Controller::CurrentUserConcern
58
+
59
+ This gives you #current_user_session, #current_user, user_signed_in?
60
+
61
+
62
+ = Using the navigation helper
63
+
64
+ # app/controllers/application_controller.rb
65
+ view_helper Cmor::UserArea::ApplicationViewHelper, as: :user_area_helper
66
+
67
+ # app/views/layouts/application.html.erb
68
+ <%= user_area_helper(self).render_navigation %>
69
+
70
+
71
+ = Running Specs
72
+
73
+ gem install bundler
74
+ bundle
75
+ cd spec/dummy && rake db:migrate RAILS_ENV=test && cd ../..
76
+ guard
77
+
78
+ This project rocks and uses MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,19 @@
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 = 'Cmor::UserArea'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+
19
+ require 'rails/dummy/tasks'
@@ -0,0 +1,64 @@
1
+ module Cmor
2
+ module UserArea
3
+ module Controller
4
+ module CurrentUserConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ helper_method :current_user_session, :current_user, :user_signed_in?
9
+ end
10
+
11
+ private
12
+
13
+ def after_sign_out_url
14
+ "/#{I18n.locale}"
15
+ end
16
+
17
+ def authenticate_user!
18
+ unless user_signed_in?
19
+ store_location
20
+ handle_authentication_failure
21
+ return false
22
+ end
23
+ true
24
+ end
25
+
26
+ def current_user_session
27
+ return @current_user_session if defined?(@current_user_session)
28
+ @current_user_session = ::Cmor::UserArea::UserSession.find
29
+ end
30
+
31
+ def current_user
32
+ return @current_user if defined?(@current_user)
33
+ @current_user = current_user_session && current_user_session.user
34
+ end
35
+
36
+ def user_authentication_failed_path
37
+ cmor_user_area.new_user_session_path
38
+ end
39
+
40
+ def user_signed_in?
41
+ !current_user.nil?
42
+ end
43
+
44
+ def sign_out_user
45
+ @current_user = nil
46
+ redirect_to after_sign_out_url
47
+ end
48
+
49
+ def current_session(type)
50
+ type = type.to_s
51
+ type << '_session' unless type.end_with?('_session')
52
+ send("current_#{type}".to_sym)
53
+ end
54
+
55
+ def handle_authentication_failure
56
+ respond_to do |format|
57
+ format.json { render json: { error: :forbidden }, status: :forbidden }
58
+ format.html { redirect_to(user_authentication_failed_path, notice: t('messages.failures.cmor_user_area.authentication_failed')) }
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,32 @@
1
+ module Cmor
2
+ module UserArea
3
+ module Controller
4
+ module RedirectBackConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ private
8
+
9
+ def store_location
10
+ self.original_location = request.url if request.get?
11
+ end
12
+
13
+ def redirect_back_or(url)
14
+ redirect_to(original_location || url)
15
+ clear_original_location
16
+ end
17
+
18
+ def clear_original_location
19
+ session.delete(:original_location)
20
+ end
21
+
22
+ def original_location
23
+ session[:original_location]
24
+ end
25
+
26
+ def original_location=(location)
27
+ session[:original_location] = location
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ module Cmor
2
+ module UserArea
3
+ module Controller
4
+ module StoreCurrentUserConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ before_action :store_current_user_id
9
+ before_action :store_current_user
10
+ end
11
+
12
+ private
13
+
14
+ def store_current_user_id
15
+ RequestLocals.store[:current_user_id] = current_user.try(:id)
16
+ end
17
+
18
+
19
+ def store_current_user
20
+ RequestLocals.store[:current_user] = current_user
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ module Cmor
2
+ module UserArea
3
+ class CurrentUsersController < Users::BaseController
4
+ helper Rao::Component::ApplicationHelper
5
+
6
+ def self.resource_class
7
+ Cmor::UserArea::User
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ module Cmor
2
+ module UserArea
3
+ module PasswordResetRequests
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,48 @@
1
+ module Cmor
2
+ module UserArea
3
+ module PasswordResetRequests
4
+ class BaseController < Cmor::UserArea::Configuration.base_controller.constantize
5
+ include Rao::ResourcesController::ResourcesConcern
6
+ include Rao::ResourcesController::ResourceInflectionsConcern
7
+ include Rao::ResourcesController::RestResourceUrlsConcern
8
+ include Rao::ResourcesController::RestActionsConcern
9
+ include Controller::RedirectBackConcern
10
+
11
+ if Rails.version < '5'
12
+ skip_before_action :authenticate_user!
13
+ else
14
+ skip_before_action :authenticate_user!, raise: false
15
+ end
16
+
17
+ def create
18
+ @resource = resource_class.new(permitted_params)
19
+ @resource.host = request.host
20
+ @resource.save
21
+ respond_with @resource, location: after_create_location
22
+ end
23
+
24
+ def edit
25
+ @resource = load_user_by_token
26
+ unless @resource
27
+ flash[:error] = t('.user_not_found')
28
+ redirect_to new_user_session_path
29
+ return
30
+ end
31
+ respond_with @resource
32
+ end
33
+
34
+
35
+ private
36
+
37
+ def load_user_by_token
38
+ User.find_using_perishable_token(params[:token])
39
+ end
40
+
41
+
42
+ def permitted_params
43
+ params.require(resource_class.name.demodulize.underscore.to_sym).permit(:email)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,6 @@
1
+ module Cmor
2
+ module UserArea
3
+ module PasswordResets
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,48 @@
1
+ module Cmor
2
+ module UserArea
3
+ module PasswordResets
4
+ class BaseController < Cmor::UserArea::Configuration.base_controller.constantize
5
+ include Rao::ResourcesController::ResourcesConcern
6
+ include Rao::ResourcesController::ResourceInflectionsConcern
7
+ include Rao::ResourcesController::RestResourceUrlsConcern
8
+ include Rao::ResourcesController::RestActionsConcern
9
+ include Controller::RedirectBackConcern
10
+
11
+ if Rails.version < '5'
12
+ skip_before_action :authenticate_user!
13
+ else
14
+ skip_before_action :authenticate_user!, raise: false
15
+ end
16
+
17
+ before_action :find_using_perishable_token
18
+
19
+ private
20
+
21
+ def load_resource
22
+ @resource
23
+ end
24
+
25
+ def load_resource
26
+ User.find_using_perishable_token(params[:token])
27
+ end
28
+
29
+ def permitted_params
30
+ params.require(:user).permit(:password, :password_confirmation)
31
+ end
32
+
33
+ def after_update_location
34
+ new_user_session_path
35
+ end
36
+
37
+ def handle_user_not_found
38
+ redirect_to new_user_session_path, notice: t("messages.failures.cmor_user_area.perishable_token_invalid")
39
+ end
40
+
41
+ def find_using_perishable_token
42
+ @resource = User.find_using_perishable_token(params[:token])
43
+ handle_user_not_found if @resource.nil?
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,6 @@
1
+ module Cmor
2
+ module UserArea
3
+ module Sessions
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,53 @@
1
+ module Cmor
2
+ module UserArea
3
+ module Sessions
4
+ class BaseController < Cmor::UserArea::Configuration.base_controller.constantize
5
+ include Rao::ResourcesController::ResourcesConcern
6
+ include Rao::ResourcesController::ResourceInflectionsConcern
7
+ include Rao::ResourcesController::RestResourceUrlsConcern
8
+ include Rao::ResourcesController::RestActionsConcern
9
+ include Rao::ResourcesController::LocationHistoryConcern
10
+
11
+ skip_before_action :authenticate_user!, only: [:new, :create], raise: false
12
+ skip_before_action :store_location, only: [:new, :create]
13
+
14
+ def new
15
+ @session = initialize_resource
16
+ respond_with @session
17
+ end
18
+
19
+ def create
20
+ @session = resource_class.new(permitted_params)
21
+
22
+ if @session.save
23
+ flash[:notice] = I18n.t('messages.success.cmor_user_area.signed_in') unless request.xhr?
24
+ redirect_to(instance_eval(&Configuration.after_sign_in_url))
25
+ return
26
+ else
27
+ render action: :new
28
+ end
29
+ end
30
+
31
+ def destroy
32
+ current_session(resource_class.name.demodulize.underscore.to_sym).destroy
33
+ flash[:notice] = I18n.t('messages.success.cmor_user_area.signed_out') unless request.xhr?
34
+ redirect_to after_sign_out_url
35
+ end
36
+
37
+ def self.resource_class
38
+ fail 'please define self.session_class in your controller.'
39
+ end
40
+
41
+ private
42
+
43
+ def permitted_params
44
+ if Rails.version < '5'
45
+ params.require(resource_class.name.demodulize.underscore.tr('/', '_')).permit(:email, :password)
46
+ else
47
+ params.require(resource_class.name.demodulize.underscore.tr('/', '_')).permit(:email, :password).to_h
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end