gdpr_rails 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -1
  3. data/app/models/policy_manager/concerns/active_storage_behavior.rb +31 -0
  4. data/app/models/policy_manager/concerns/paperclip_behavior.rb +28 -0
  5. data/app/models/policy_manager/portability_request.rb +5 -19
  6. data/app/views/policy_manager/portability_mailer/completed_notification.erb +1 -1
  7. data/app/views/policy_manager/user_portability_requests/index.html.erb +1 -1
  8. data/db/migrate/20180410171354_create_policy_manager_portability_requests.rb +0 -7
  9. data/lib/generators/policy_manager/paperclip_generator.rb +19 -0
  10. data/lib/policy_manager.rb +1 -0
  11. data/lib/policy_manager/config.rb +2 -1
  12. data/lib/policy_manager/engine.rb +1 -0
  13. data/lib/policy_manager/version.rb +1 -1
  14. data/lib/tasks/terms_tasks.rake +3 -3
  15. data/lib/templates/migrations/paperclip_fields.rb +9 -0
  16. data/spec/dummy/config/environments/development.rb +2 -0
  17. data/spec/dummy/config/environments/test.rb +1 -0
  18. data/spec/dummy/config/storage.yml +7 -0
  19. data/spec/dummy/db/development.sqlite3 +0 -0
  20. data/spec/dummy/db/migrate/20190221193828_create_active_storage_tables.active_storage.rb +27 -0
  21. data/spec/dummy/db/migrate/20190221193829_paperclip_fields_to_portability.rb +9 -0
  22. data/spec/dummy/db/schema.rb +22 -1
  23. data/spec/dummy/log/development.log +144 -0
  24. data/spec/dummy/log/test.log +59042 -0
  25. data/spec/dummy/storage/2l/36/2l362zssgrk8520386277x1m7sap +0 -0
  26. data/spec/dummy/storage/3h/t8/3ht83746l6xcrys3zqakgm3amnd2 +0 -0
  27. data/spec/dummy/storage/et/2c/et2cyefqb7fwpqlvkdtwsj2x9rif +0 -0
  28. data/spec/dummy/storage/f8/g8/f8g8ftde3q0mx6z31dlabg0kr9l1 +0 -0
  29. data/spec/dummy/storage/la/cq/lacq4gwt9028i07ep7yj989ezjzv +0 -0
  30. data/spec/dummy/storage/lz/fz/lzfz3esm4xdo00ovfqyzql6roqy8 +0 -0
  31. data/spec/dummy/storage/w8/1m/w81m2darf15pkw92haf9s6vhym9v +0 -0
  32. data/spec/dummy/storage/xx/5p/xx5pbr13a6y8v9yqwze3riajant8 +0 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0v/0vE_Z5wQdjFNHo1cpMhj30ohNqK1pw5lRopJ5tjmIK4.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/16/16OQnBzpvvoLSOsch-jiWOeoqdKJa4Qm7_Uu1KTeqj4.cache +0 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1I/1IEuwz2loqzjXRmgaC9CjDTC_dv_Fq9RQz_SHbOUfxg.cache +1 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1y/1yK6Yk9GhmbhUK04f_2GjfRAndt8iFZh1kJ8QToMMh0.cache +0 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2R/2RgzPEVUHFyz58qIDy0lvbj-Z9EfixkKrOy9PTrXLJA.cache +0 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2h/2hQ-Sec8cSlP0-fnhJEpFc5LmC9HtnY18UGydYCbrH4.cache +3 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4F/4F3tjiAG47V8a_Yxd0hUOdKmPe9F6u_drmDLQaglfPk.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4j/4jsVretxsx-HpkD8Z0J7L8lGvulMm62OE_ZRpZy2T2s.cache +0 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4l/4lVraBq_1ToSspsyxfDWTQCB7YwxLYdzudGv51iXshE.cache +1 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4u/4uoPk5K9mLQvduTqkjeXtBeaWojenX5Dn-dBdkX5CqA.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/55/55dq5CacmKKx4EidTHiUg1no98mwc6qnMkSRZ_w6eiQ.cache +1 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5m/5mO5S2MfbEUVxkXH46amJgMg-T2BHvPkW-PHDU1kP68.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6F/6Ffi6KsaVabRSwIvAirrkCPegnnsGejpi_fvti6aRSM.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6H/6HYz7TxqgQEvMtS_-eMfRZoHzUdtpIiYjnWn0SjO7UM.cache +0 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7F/7F7JkSo6jlM0voz0l3MZWt5QwacPA0dpP_1kzBPXnqA.cache +1 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7G/7GLEQz_Aq3OIicABdwjBkskGHxX1ovVdciz-9BNd6g0.cache +3 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8A/8AeLZZy3ZDyx1PfRZRe9udwZPu-rdrYOxRtr-812fBY.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8c/8cZC-c0OrbqSaU34YPcNs-J9BFxPlIZVyC1h-vb6IGw.cache +1 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bj/Bj8KwkQl2ElOYrAyay23nhzeXTmS1JBYzDdXkXOs7ak.cache +0 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D7/D7RTGYIjP5u6EEwmDfym0vdsv-qup2wn_0v0q-0_lLU.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DC/DC2JuhCKJcQ-62Xjy0MetCg8kg6Y9v1Fq62DzqLuUdc.cache +1 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DC/DCpjyYVHt2BQw1NkNXqQ-4Ig5ci2nKQn_IpwMT2QIw8.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DE/DEe1YuLlrLaRx7Pn9h60U3MUfLPoIknJYdDMHCLjeZQ.cache +0 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ea/EaxGB9YXoJUQCu0GAOTsYJTQVm7DOcwRYr6PYCJizKc.cache +0 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ez/Ez830tsf92ANv8aYp0eukenQosDepHkYPSw7zpbYv7s.cache +1 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FB/FBax1REqD66hPpVRc5eOVs9187oG5nIm89cpSv632Mk.cache +1 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FC/FCwWvGq13B6nJe4VfmsPwNqAsfCiKxhSmSGJjvsb0Gk.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FJ/FJGvPB0sPBL2fnD4dv1prKuXejP_PbmVxITXGlNWhII.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FV/FVo-aHKXwy1yxqSMJbkLyHPwRAyFujt9uxWXYbPica0.cache +0 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FV/FvG3upOQz-Pf0bkOzjbt5Tob6s5vGvKTsR3Z4I0GXXk.cache +0 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FX/FXQObKxl_tePRMj1tD2dHU7vUJSArzp-O0eRmuHOILI.cache +1 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FX/FxCTdprYygoEahFK0vLstkTQlvZvyqDcv01-Vivhwtc.cache +1 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G2/G26n_qGwdmsnStMjB4xjj9BALv1KpivpR7v8oL9i9UA.cache +0 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HB/HBAJM5iGpE8mygYQoQXo94iLywhzb50rXbxsp-0QFHo.cache +0 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JU/JULD7yaDdSPcznVADa55-Md62qN2cc3IjaBK5tgJybY.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jd/JdDmTUo0JWUe6FOMUmnDGqGJjQ21t-X3Ha-we14SIIE.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K4/K4miwIujBlZfa-jgPUN-CBJf14YtZ5twNxk4p0gxzDE.cache +1 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KO/KOErQTQTiecLdWHaeBcU87YYSN5jXe9pAkOLAM4wzkI.cache +1 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kj/Kj07Vv-IPPjCqlFBsv7B4KiCoorsOrqfgD3GA7CHebE.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MJ/mJiRDhNK9lBJ0zlxsd8P-0yQ7IaE0jGnTh-BmUYpiEA.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NW/NWISOQse2-AzHx07F4vid8WRt1mt1GA1uYYeX8UvV2o.cache +1 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Of/Of0abBZL1rHSALuMB_rQHPj5tqEAeCCSuVY2ZmGK27I.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PD/PD8TIIzCmreylNveA9PAjg6F-GvlPXqGA42hDYt3uA0.cache +1 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ph/PhMFP9F_bMraBte1M3JjSFG56bg6A07qOmmkIOpbxY8.cache +1 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ps/PstKAWj2Ifinqxxl_JTVUXYo_bQbGeCGJmeom5uVecc.cache +0 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q1/Q11Up7amirYkztBQY9eQ30UmGuVpulHwjKmzge2y5zQ.cache +1 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q1/Q1RkUqa15TQX-W_ymPHwYE2Uqiu0EvUnXM0Y9DGVViI.cache +2 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qp/QpyABqS_v3Wm3NTJS5DMsYMu7fCe1FaQ41SA0cB-I_Q.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R1/R1jk23_EMom3a-8UlqGk2biKNYdvnb9twNtulD5u3z0.cache +1 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rs/Rs2r5EZJjVdL5bZ-ARxMoFhu1ILGuJcGlU4HciUZt4g.cache +1 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SF/SFXkrPlHDYYHsT2MmYIV5Q2GdBa8aR99KRHXP2DG7zc.cache +0 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SY/SYsH1LNj04sGoAtIDjZcj2tbeB50S_3Apy1u8eQxtZ0.cache +1 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Th/ThPl90mnKyOL-hIISMWTS2RtDjuRvWGwUxvOCKkCy9Q.cache +3 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Us/UsdQRHUf-zrBnHLmAUGpqNF9-AcpT3ALFZGgMQudV0w.cache +0 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VM/VMWSbcmtyQTVs5WpkUkWdn92tdhwmFfDfOReVqs1xvw.cache +1 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vr/Vrg5XqKRMlQocxybobVKGx85yUXixQz-XzruejArrWQ.cache +1 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W2/W2sH6Lbfxh0Vv-UNsYZQbUMNkV4KTRekALRm0gxRrEI.cache +0 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XO/XOX4fX9VV69SKK9y8Tj3Bt4ZbzND_mkkqG50I51LPgY.cache +3 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xe/XeqUueJXiYt6HKhqAV0M-oIwbhysjVUBAVsxLpwVdgo.cache +1 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YW/YWn8PssbiFBLfgmIGOMPUpnM6mWWX3TwnyutdbnQTb4.cache +0 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yl/YlzYXKEUXsvrUYqFQNm3FmmKpU5u-xbH91wZJ9r3-bQ.cache +1 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YukzgTJTB7k2Fwy2rMGCD8hZY90GFYlbkAT4YmW_UYE.cache +0 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZC/ZCJceZHSXZ9KJi_fwdE2pCn2eAWeLnJatJwkigaYtlk.cache +0 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZR/ZR5fTWQEj8FzDhyEhQoRwT6u4Vlqf9YupCyZdXxwz6I.cache +1 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_f/_fjyctiFHEUpkdWsXty-j_0kwZLxUYItWdxVfRFvFMI.cache +1 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_z/_zDy0xkpyHdcugIQG4UxD73ACa0eIc_yE3sQeGPBM3E.cache +1 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aL/aLxSLdT3QTNPAjVcxAJzvmTRBXZzo7zTZYSgwDfA3XM.cache +0 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c4/c43KRQCk0IF_ZA9YSwMDa61apcA5um8Pmijw88nQurg.cache +0 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dg/dgm0UAQyZ-78r6OAt5bCrv8O5_plUw7fJwyQQYwcre0.cache +3 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dl/dlfJ8lP5LynKDEGKpYau_R8ql0i_P-5b733IMnaJVqU.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eB/EbfyEy2PQY2H8U3FO-5AxZIhHm1kynbBRssQlDsJYfk.cache +0 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eX/eXDy3dO5S2za0pvARSkmlsa5Lx-nJf43OTc4bg-Fs_I.cache +1 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ei/eiAufSKLI8jd9nhEU-pCEdlQXiCZLuOLzk7IIMo8bHE.cache +1 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g8/g87FI_OtYNjCQGODNkw1wl8S-qRLXGeCiohCVvnkl0s.cache +1 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gP/gPGg8P18vP0lkwjOEzLebQqvPxexYOGWXWN8zL8L91g.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gT/gT5jbNDSaj24YKiPSTT9GPN1iaxf9LrB6j6kmbiA5nI.cache +1 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hQ/hQwsOgXT3j28mQdnUMFVh_4yG0cO9XOGuNsqvmRkFdM.cache +0 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/HVuTRKGtbtagLsBphiGh3bnPEmy7t9matkUNjR6tr3U.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/hVvyHPED6YQde4oe-SOQeHQPRBQ6KUQ9h8Rk6n5iNOM.cache +1 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/hvrOjYN1We_Zy2Jm45yxxS07vcinBFRy2g-WTa7JHeo.cache +1 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hs/hsDumxZlwL-wWI8_U9Vw27WVcNPd7chlY9DI8_c866U.cache +0 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iM/iMdWekcMrIqNwS8XN5jsEYU68nRMsjdJdlkikdYmFHg.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ie/ieH53fiEvGCHmEzynbmTE0VP7FcTVs-nbNBZWnedeX8.cache +1 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j5/j5bzKA4TUTTfyH1P_hff_KLkrGidUNy6zNezarGma1M.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k3/k3cXru2ZiYB4eLVwMfq0rGWP7_7ke16e2q6t54U_Q7U.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kM/kM__tC376q_VPIFhfieVd8CaQdjVc48HByTKSVjb5Qc.cache +0 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kl/klCSNNO4xipPe4MTGfCq30QZ31uCprvmNqy3dSycr_U.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lW/lWpDsHb65Hy4YhNn4s-RFZTEVrl0HM7hZho8AI0Zrtc.cache +0 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lg/lg1ExD6zq_Fv1Ht71z2B1MwWlhUeyq0rAT-gP_8-37c.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mC/mCDbJYaBB6x9OtbnRYgXYDjfWrU_eEBaz4U59rSID4I.cache +0 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mF/mFO5YlY3J7S2IyfwoxGzTtEqSuMHJk3vY3qRODmSs9E.cache +1 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n1/n18e5MSsVHLwvGv5J_1BYo70Tn_hzaWZj2XJL9AL0NY.cache +0 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nP/nPfjszQ5f1RoLJDRcIdRVMxlZi3idmZGvLKVjVzW0GY.cache +0 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oE/oEDfFcqQ_GLaGhzRA9BtRMb4sxlbsG4Z_NUm3TZXzRo.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oR/OrKM2ee0whN1Cmao8YIbPYxYvscMu2QhrFOHHpyxngc.cache +1 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oR/oRoKFABHTlwDCMnOCwFUq8GGjFMQD_ipYTQRkH-Dbho.cache +1 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oq/oqmFQVcYpArkznSiHWfq2WYiWGM6I0VY6JR6Lz-p31c.cache +1 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oz/oZiMbegOVZ6Q_3ZDeufAsDf5j2QxnzdRExOYPcOZ7vA.cache +0 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p0/p0jMhMrkXWEXKdz0A_xO8foeJcDMfZU725lMT6cB9vk.cache +0 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pN/pN4p1lZXHOR3GQMh9DiMiwCRBAfUy8V6FwCsCG_XERU.cache +1 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pa/pa0oPVXHM4TRg_i1XhleC6MnNKBoOhEPB4Jz8gMcI-A.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qO/qodPZ864mIN2KkgSFDLgHG352smn1rc2MAGF7gf-VQs.cache +1 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qg/qGvrZ0gQHs2ngHSUSNFr5biz5gRWkC-uSwTp8Hn1gkY.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qz/qzeLBTNrj-DGN3aYNYMfdZKSa8Sv3pRvq7S2Z5Y9G84.cache +1 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rh/rhiHxaMtmmZZYiO583Or4k7BPLAmMzeqyLc0gmJoKLg.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tN/tNljEmpPtqxyj5gAl-g2gi0XGWnVTxUm3UaAsYmEZvA.cache +1 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tg/tgFtWSjMbFR-ImOK3ynY9xJnkM2adReWxndXb5n1ojc.cache +1 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uP/uPqhym-rHxeDWpzVfq0ytpIKzS0nbQpLKPhOuwO2Btk.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uQ/uQ5RsssbOIdTqh9WElwvBqoOIIjJQEXxVY6SFWyAiP8.cache +0 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uY/uYo0EdBp9gEu6FIw_VfPKokHrOdHuHqyVeOpkFnSQHE.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uk/UkZQIk6sqUJnY_Aajep_9n1ckufVbHWLAGYe9Q6SVuU.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uk/ukkPjFzFTAYsB0Vzs37KNyiqPdimeD63KZsecBbtr-M.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5_n9hMUSZ2_62Nidzj5gJEE-2e_rpuKuJIffIaBGbc.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v7/v7isAGwkxm0q3aLkOGPDUGmBNUd7F2ZsF75oGRcOUd8.cache +0 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vK/vK60lKIO22Zxo-kW_1tTY5X248fMVrpJX9TB79iEmJQ.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vK/vKf4GGdinHdcU3CtkPsgZtSn8ydW_EV1mjPVoQzX890.cache +1 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vq/vqPy5rvDzLDmCBsxkzdWVkoeh-NbgK_AZufVx-K2zmg.cache +0 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vw/vwfN5d6phkc9KgypzH6bSSYkYpP10LA_06AtrggyBt8.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wW/wWWddLxrTHTYaE5qyqSL_Oi8hXFZoXUKvSV55bcdrA4.cache +1 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xD/xDzep5JtXC_vfoPL8E418yUyQ2MLCPVtlXNseCfTKng.cache +0 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xQ/XqTZzabMfsw7bjhpIkHwMcoBCFnmVypvg-ZOyMmd07M.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y7/y7Bd-x0em9X5vXKffVc3JdeBDyFz3l1by8-4ccZmjH4.cache +1 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/ZKPLUpoS8Gqz08tLK15U9y0iTOQp-VC9v4yxHOSwBOo.cache +1 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/zKuvJ5btxxJbOGE01VUzyiZoVHYr8JrPHedPibo8jNs.cache +0 -0
  161. data/spec/dummy/tmp/export/29-out.zip +0 -0
  162. data/spec/dummy/tmp/export/29/exportable_data/10/index.html +14 -0
  163. data/spec/dummy/tmp/export/{28/exportable_data/3 → 29/exportable_data/2}/index.html +4 -4
  164. data/spec/dummy/tmp/export/29/exportable_data/3/index.html +14 -0
  165. data/spec/dummy/tmp/export/29/exportable_data/4/index.html +14 -0
  166. data/spec/dummy/tmp/export/29/exportable_data/5/index.html +14 -0
  167. data/spec/dummy/tmp/export/29/exportable_data/6/index.html +14 -0
  168. data/spec/dummy/tmp/export/29/exportable_data/7/index.html +14 -0
  169. data/spec/dummy/tmp/export/29/exportable_data/8/index.html +14 -0
  170. data/spec/dummy/tmp/export/29/exportable_data/9/index.html +14 -0
  171. data/spec/dummy/tmp/export/29/exportable_data/index.html +14 -0
  172. data/spec/dummy/tmp/export/{28 → 29}/index.html +6 -6
  173. data/spec/models/policy_manager/portability_request_spec.rb +141 -58
  174. data/spec/rails_helper.rb +1 -1
  175. metadata +293 -65
  176. data/spec/dummy/tmp/export/28-out.zip +0 -0
  177. data/spec/dummy/tmp/export/28/exportable_data/10/index.html +0 -14
  178. data/spec/dummy/tmp/export/28/exportable_data/2/index.html +0 -14
  179. data/spec/dummy/tmp/export/28/exportable_data/4/index.html +0 -14
  180. data/spec/dummy/tmp/export/28/exportable_data/5/index.html +0 -14
  181. data/spec/dummy/tmp/export/28/exportable_data/6/index.html +0 -14
  182. data/spec/dummy/tmp/export/28/exportable_data/7/index.html +0 -14
  183. data/spec/dummy/tmp/export/28/exportable_data/8/index.html +0 -14
  184. data/spec/dummy/tmp/export/28/exportable_data/9/index.html +0 -14
  185. data/spec/dummy/tmp/export/28/exportable_data/index.html +0 -14
  186. data/spec/dummy/tmp/portability/1/build.zip +0 -0
  187. data/spec/dummy/tmp/portability/14/build.zip +0 -0
  188. data/spec/dummy/tmp/portability/15/build.zip +0 -0
  189. data/spec/dummy/tmp/portability/16/build.zip +0 -0
  190. data/spec/dummy/tmp/portability/17/build.zip +0 -0
  191. data/spec/dummy/tmp/portability/18/build.zip +0 -0
  192. data/spec/dummy/tmp/portability/2/build.zip +0 -0
  193. data/spec/dummy/tmp/portability/20/build.zip +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 386298d1731a0a6830f1445e562f7e4dd0bca49ee37b0eed4fb1e35b9e1b8ca8
4
- data.tar.gz: 5f31692024cae1c58a1403679fd7690c50bf3c07776c3d912f0873cb264135d8
3
+ metadata.gz: fd4d3c3a82cf1d70631ee098e62e65adc4886b9807afb0a4545a62b4dfcd8e56
4
+ data.tar.gz: 3b2c029fd71c0f29e9b1e5ca5fdec1ebe0bb6100680052a77de91e008d983ce2
5
5
  SHA512:
6
- metadata.gz: 52c20ac58d490cda8066dde9adbd91a8630216a9aae6ac5110dedbae379882d934e56d24b4e360d77d08c25660cb38e26cebb03926aa37e595ca6682d7a0139a
7
- data.tar.gz: 163475f3ad0de7c4e1ea477b59ab51796e1903e918facc04aa3c283b4faa1452e5cadc4dfac0ac50f4e03ef33ba6096f211befeae10d85c77fa54c3920a46395
6
+ metadata.gz: e5d41c6d007b81aacf9aff44f20e69872136efe322ced3e81285a611ec6b9a3d5cbd7abaa37e6243400722dcb3a6ebde1f200486c0a271135d6fea41cc16c50c
7
+ data.tar.gz: 5a66db35017d225e21202b7d9b3cb560055701d5c18306ed1a5297f7b3ef7e05f857ad12ddd8d0c77c30e6af060cdaeace3f68da19fedd27cc16aa0b33e97650
data/README.md CHANGED
@@ -30,7 +30,7 @@ Portability module lets you define export options, that will generate a navigabl
30
30
  + Downloads images to the local filesystem in order to comply with GDPR requirements on data accessibility.
31
31
  + Zips all the information and delivers it with a expirable download link
32
32
  + ActiveJob to handle the process
33
- + Behind the scenes uses the paperclip gem in which you can set up storages, like S3, Google
33
+ + Behind the scenes uses Rails's ActiveStorage (with an optional Paperclip support) in which you can set up storages, like S3, Google
34
34
 
35
35
  #### Scripts & Cookies
36
36
  Configurable *scripts* which will bind cookie names in order to handle the script rendering and the cookie clean up.
@@ -42,6 +42,8 @@ Configurable *scripts* which will bind cookie names in order to handle the scrip
42
42
  ![Admin panel](https://user-images.githubusercontent.com/11976/40152755-856941e2-5954-11e8-87d0-1464c21a61c2.png)
43
43
 
44
44
  ## Installation
45
+
46
+
45
47
  Add this line to your application's Gemfile:
46
48
 
47
49
  as `gem 'gdpr_rails'`
@@ -54,6 +56,37 @@ Install & run the migrations
54
56
 
55
57
  `rake policy_manager:install:migrations`
56
58
 
59
+ ## Rails ActiveStorage
60
+
61
+ By default The engine will use the app's active_storage setup for file handling
62
+
63
+ ## Rails Paperclip
64
+
65
+ If you don't use activeStorage in your application, run this migration to use paperclip
66
+
67
+ ```ruby
68
+ class PaperclipFieldsToPortability < ActiveRecord::Migration[5.2]
69
+ def change
70
+ add_column :policy_manager_portability_requests, :attachment, :string
71
+ add_column :policy_manager_portability_requests , :attachment_file_name, :string
72
+ add_column :policy_manager_portability_requests , :attachment_file_size, :string
73
+ add_column :policy_manager_portability_requests , :attachment_file_content_type, :string
74
+ add_column :policy_manager_portability_requests, :attachment_content_type, :string
75
+ end
76
+ end
77
+ ```
78
+
79
+ and in your Gdpr config add paperclip option to enable it
80
+
81
+ ```ruby
82
+
83
+ PolicyManager::Config.setup do |config|
84
+ config.paperclip = true
85
+ #....
86
+ end
87
+ ```
88
+
89
+
57
90
  ## Usage examples
58
91
 
59
92
  ### Basic config
@@ -0,0 +1,31 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require "paperclip"
3
+
4
+ module PolicyManager::Concerns::ActiveStorageBehavior
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ has_one_attached :attachment
9
+ end
10
+
11
+ def file_remote_url=(url_value)
12
+
13
+ self.attachment.attach(
14
+ io: File.open(url_value),
15
+ filename: File.basename(url_value),
16
+ content_type: 'application/zip'
17
+ ) unless url_value.blank?
18
+
19
+ #self.attachment = File.open(url_value) unless url_value.blank?
20
+
21
+ self.save
22
+ self.complete!
23
+ end
24
+
25
+ def download_link
26
+ return '' unless self.attachment.attached?
27
+ url = Rails.application.routes.url_helpers.rails_blob_path(self.attachment, only_path: true)
28
+ #self.attachment.expiring_url(PolicyManager::Config.exporter.expiration_link)
29
+ PolicyManager::Config.exporter.customize_link(url)
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require "paperclip"
3
+
4
+ module PolicyManager::Concerns::PaperclipBehavior
5
+ extend ActiveSupport::Concern
6
+ include Paperclip::Glue
7
+
8
+ included do
9
+
10
+ has_attached_file :attachment,
11
+ path: Config.exporter.try(:attachment_path) || Rails.root.join("tmp/portability/:id/build.zip").to_s,
12
+ storage: Config.exporter.try(:attachment_storage) || :filesystem,
13
+ s3_permissions: :private
14
+
15
+ do_not_validate_attachment_file_type :attachment
16
+ end
17
+
18
+ def file_remote_url=(url_value)
19
+ self.attachment = File.open(url_value) unless url_value.blank?
20
+ self.save
21
+ self.complete!
22
+ end
23
+
24
+ def download_link
25
+ url = self.attachment.expiring_url(PolicyManager::Config.exporter.expiration_link)
26
+ PolicyManager::Config.exporter.customize_link(url)
27
+ end
28
+ end
@@ -1,18 +1,15 @@
1
- require "paperclip"
2
1
  require "aasm"
3
2
 
4
3
  module PolicyManager
5
4
  class PortabilityRequest < ApplicationRecord
6
- include Paperclip::Glue
7
5
 
8
6
  belongs_to :user, class_name: Config.user_resource.to_s, foreign_key: :user_id
9
7
 
10
- has_attached_file :attachment,
11
- path: Config.exporter.try(:attachment_path) || Rails.root.join("tmp/portability/:id/build.zip").to_s,
12
- storage: Config.exporter.try(:attachment_storage) || :filesystem,
13
- s3_permissions: :private
14
-
15
- do_not_validate_attachment_file_type :attachment
8
+ if PolicyManager::Config.paperclip
9
+ include PolicyManager::Concerns::PaperclipBehavior
10
+ else
11
+ include PolicyManager::Concerns::ActiveStorageBehavior
12
+ end
16
13
 
17
14
  include AASM
18
15
 
@@ -34,17 +31,6 @@ module PolicyManager
34
31
  self.user.email
35
32
  end
36
33
 
37
- def file_remote_url=(url_value)
38
- self.attachment = File.open(url_value) unless url_value.blank?
39
- self.save
40
- self.complete!
41
- end
42
-
43
- def download_link
44
- url = self.attachment.expiring_url(PolicyManager::Config.exporter.expiration_link)
45
- PolicyManager::Config.exporter.customize_link(url)
46
- end
47
-
48
34
  def handle_progress
49
35
  notify_progress
50
36
  perform_job
@@ -1,6 +1,6 @@
1
1
  <p>Hi , your complete data was processed and can be downloaded at</p>
2
2
 
3
- <%= link_to "download file", @portability_request.attachment.expiring_url(PolicyManager::Config.exporter.expiration_link) %>
3
+ <%= link_to "download file", @portability_request.download_link %>
4
4
 
5
5
 
6
6
 
@@ -38,7 +38,7 @@
38
38
  </td>
39
39
  <% if portability_request.completed? %>
40
40
  <td>
41
- <%= link_to portability_request.attachment.expiring_url(60), class: "btn btn-secondary btn-sm" do %>
41
+ <%= link_to portability_request.attachment.download_link, class: "btn btn-secondary btn-sm" do %>
42
42
  <i class="fa fa-download"></i>
43
43
  <%= I18n.t("terms_app.misc.download")%>
44
44
  <% end %>
@@ -4,14 +4,7 @@ class CreatePolicyManagerPortabilityRequests < ActiveRecord::Migration[5.1]
4
4
  #t.references :user, foreign_key: true
5
5
  t.integer :user_id, index: true
6
6
  t.string :state
7
- t.string :attachment
8
- t.string :attachment_file_name
9
- t.string :attachment_file_size
10
- t.datetime :attachment_content_type
11
- t.string :attachment_file_content_type
12
-
13
7
  t.datetime :expire_at
14
-
15
8
  t.timestamps
16
9
  end
17
10
  end
@@ -0,0 +1,19 @@
1
+ require 'rails/generators/active_record'
2
+ require 'rails/generators/migration'
3
+
4
+ module PolicyManager
5
+ module Generators
6
+ class PaperclipGenerator < Rails::Generators::Base
7
+
8
+ #self.class.include Rails::Generators::Migration
9
+
10
+ #desc "Installs mygem and generates the necessary migrations"
11
+ #source_root File.expand_path("../templates", __FILE__)
12
+
13
+ #def create_migrations
14
+ # migration_template 'migrations/paperclip_fields.rb', "db/migrate/add_foo_to_bar.rb"
15
+ #end
16
+
17
+ end
18
+ end
19
+ end
@@ -18,4 +18,5 @@ require "policy_manager/config"
18
18
 
19
19
  module PolicyManager
20
20
  # Your code goes here...
21
+
21
22
  end
@@ -10,7 +10,8 @@ module PolicyManager
10
10
  :admin_email_inbox,
11
11
  :error_notifier,
12
12
  :user_resource,
13
- :admin_user_resource
13
+ :admin_user_resource,
14
+ :paperclip
14
15
 
15
16
  def self.setup
16
17
  @@rules = []
@@ -1,6 +1,7 @@
1
1
  module PolicyManager
2
2
  class Engine < ::Rails::Engine
3
3
  isolate_namespace PolicyManager
4
+ config.autoload_paths << File.expand_path("lib/generators", __dir__)
4
5
  config.generators do |g|
5
6
  g.test_framework :rspec, :fixture => false
6
7
  #g.fixture_replacement :factory_girl, :dir => 'spec/factories'
@@ -1,3 +1,3 @@
1
1
  module PolicyManager
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
@@ -1,4 +1,4 @@
1
1
  # desc "Explaining what the task does"
2
- # task :terms do
3
- # # Task goes here
4
- # end
2
+ task :terms do
3
+ # Task goes here
4
+ end
@@ -0,0 +1,9 @@
1
+ class PaperclipFieldsToPortability < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :policy_manager_portability_requests, :attachment, :string
4
+ add_column :policy_manager_portability_requests , :attachment_file_name, :string
5
+ add_column :policy_manager_portability_requests , :attachment_file_size, :string
6
+ add_column :policy_manager_portability_requests , :attachment_file_content_type, :string
7
+ add_column :policy_manager_portability_requests, :attachment_content_type, :string
8
+ end
9
+ end
@@ -1,6 +1,8 @@
1
1
  Rails.application.configure do
2
2
  # Settings specified here will take precedence over those in config/application.rb.
3
3
 
4
+ config.active_storage.service = :local
5
+
4
6
  # In the development environment your application's code is reloaded on
5
7
  # every request. This slows down response time but is perfect for development
6
8
  # since you don't have to restart the web server when you make code changes.
@@ -1,6 +1,7 @@
1
1
  Rails.application.configure do
2
2
  # Settings specified here will take precedence over those in config/application.rb.
3
3
 
4
+ config.active_storage.service = :local
4
5
  # The test environment is used exclusively to run your application's
5
6
  # test suite. You never need to work with it otherwise. Remember that
6
7
  # your test database is "scratch space" for the test suite and is wiped
@@ -0,0 +1,7 @@
1
+ local:
2
+ service: Disk
3
+ root: <%= Rails.root.join("storage") %>
4
+
5
+ test:
6
+ service: Disk
7
+ root: <%= Rails.root.join("tmp/storage") %>
Binary file
@@ -0,0 +1,27 @@
1
+ # This migration comes from active_storage (originally 20170806125915)
2
+
3
+ class CreateActiveStorageTables < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :active_storage_blobs do |t|
6
+ t.string :key, null: false
7
+ t.string :filename, null: false
8
+ t.string :content_type
9
+ t.text :metadata
10
+ t.bigint :byte_size, null: false
11
+ t.string :checksum, null: false
12
+ t.datetime :created_at, null: false
13
+
14
+ t.index [ :key ], unique: true
15
+ end
16
+
17
+ create_table :active_storage_attachments do |t|
18
+ t.string :name, null: false
19
+ t.references :record, null: false, polymorphic: true, index: false
20
+ t.references :blob, null: false
21
+
22
+ t.datetime :created_at, null: false
23
+
24
+ t.index [ :record_type, :record_id, :name, :blob_id ], name: "index_active_storage_attachments_uniqueness", unique: true
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ class PaperclipFieldsToPortability < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :policy_manager_portability_requests, :attachment, :string
4
+ add_column :policy_manager_portability_requests , :attachment_file_name, :string
5
+ add_column :policy_manager_portability_requests , :attachment_file_size, :string
6
+ add_column :policy_manager_portability_requests , :attachment_file_content_type, :string
7
+ add_column :policy_manager_portability_requests, :attachment_content_type, :string
8
+ end
9
+ end
@@ -10,7 +10,28 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2019_02_21_193827) do
13
+ ActiveRecord::Schema.define(version: 2019_02_21_193828) do
14
+
15
+ create_table "active_storage_attachments", force: :cascade do |t|
16
+ t.string "name", null: false
17
+ t.string "record_type", null: false
18
+ t.integer "record_id", null: false
19
+ t.integer "blob_id", null: false
20
+ t.datetime "created_at", null: false
21
+ t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
22
+ t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
23
+ end
24
+
25
+ create_table "active_storage_blobs", force: :cascade do |t|
26
+ t.string "key", null: false
27
+ t.string "filename", null: false
28
+ t.string "content_type"
29
+ t.text "metadata"
30
+ t.bigint "byte_size", null: false
31
+ t.string "checksum", null: false
32
+ t.datetime "created_at", null: false
33
+ t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
34
+ end
14
35
 
15
36
  create_table "another_users", force: :cascade do |t|
16
37
  t.string "email"
@@ -441,3 +441,147 @@ Filter chain halted as :set_blob rendered or redirected
441
441
  Completed 404 Not Found in 1ms (ActiveRecord: 0.0ms)
442
442
 
443
443
 
444
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
445
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
446
+ boolean values and must have old data converted to 1 and 0 (its native boolean
447
+ serialization) before setting this flag to true. Conversion can be accomplished
448
+ by setting up a rake task which runs
449
+
450
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
451
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
452
+
453
+ for all models and all boolean columns, after which the flag must be set to
454
+ true by adding the following to your application.rb file:
455
+
456
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
457
+ (called from require at bin/rails:4)
458
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
459
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
460
+ boolean values and must have old data converted to 1 and 0 (its native boolean
461
+ serialization) before setting this flag to true. Conversion can be accomplished
462
+ by setting up a rake task which runs
463
+
464
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
465
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
466
+
467
+ for all models and all boolean columns, after which the flag must be set to
468
+ true by adding the following to your application.rb file:
469
+
470
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
471
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
472
+  (0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
473
+ Migrating to CreateActiveStorageTables (20190221193828)
474
+  (0.1ms) begin transaction
475
+  (0.5ms) SELECT sqlite_version(*)
476
+  (1.3ms) CREATE TABLE "active_storage_blobs" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "key" varchar NOT NULL, "filename" varchar NOT NULL, "content_type" varchar, "metadata" text, "byte_size" bigint NOT NULL, "checksum" varchar NOT NULL, "created_at" datetime NOT NULL)
477
+  (0.1ms) CREATE UNIQUE INDEX "index_active_storage_blobs_on_key" ON "active_storage_blobs" ("key")
478
+  (0.2ms) CREATE TABLE "active_storage_attachments" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar NOT NULL, "record_type" varchar NOT NULL, "record_id" integer NOT NULL, "blob_id" integer NOT NULL, "created_at" datetime NOT NULL)
479
+  (0.1ms) CREATE INDEX "index_active_storage_attachments_on_blob_id" ON "active_storage_attachments" ("blob_id")
480
+  (0.1ms) CREATE UNIQUE INDEX "index_active_storage_attachments_uniqueness" ON "active_storage_attachments" ("record_type", "record_id", "name", "blob_id")
481
+ ActiveRecord::SchemaMigration Create (0.6ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20190221193828"]]
482
+  (2.4ms) commit transaction
483
+ Migrating to PortabilityRequests (20190612175312)
484
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
485
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
486
+ boolean values and must have old data converted to 1 and 0 (its native boolean
487
+ serialization) before setting this flag to true. Conversion can be accomplished
488
+ by setting up a rake task which runs
489
+
490
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
491
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
492
+
493
+ for all models and all boolean columns, after which the flag must be set to
494
+ true by adding the following to your application.rb file:
495
+
496
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
497
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
498
+  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
499
+ Migrating to AddAttachmentPortabilityRequests (20190612175312)
500
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
501
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
502
+ boolean values and must have old data converted to 1 and 0 (its native boolean
503
+ serialization) before setting this flag to true. Conversion can be accomplished
504
+ by setting up a rake task which runs
505
+
506
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
507
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
508
+
509
+ for all models and all boolean columns, after which the flag must be set to
510
+ true by adding the following to your application.rb file:
511
+
512
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
513
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
514
+  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
515
+ Migrating to AddAttachmentPortabilityRequests (20190612175312)
516
+  (0.1ms) begin transaction
517
+  (0.1ms) rollback transaction
518
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
519
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
520
+ boolean values and must have old data converted to 1 and 0 (its native boolean
521
+ serialization) before setting this flag to true. Conversion can be accomplished
522
+ by setting up a rake task which runs
523
+
524
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
525
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
526
+
527
+ for all models and all boolean columns, after which the flag must be set to
528
+ true by adding the following to your application.rb file:
529
+
530
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
531
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
532
+  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
533
+ Migrating to AddAttachmentPortabilityRequests (20190612175312)
534
+  (0.1ms) begin transaction
535
+  (0.1ms) rollback transaction
536
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
537
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
538
+ boolean values and must have old data converted to 1 and 0 (its native boolean
539
+ serialization) before setting this flag to true. Conversion can be accomplished
540
+ by setting up a rake task which runs
541
+
542
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
543
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
544
+
545
+ for all models and all boolean columns, after which the flag must be set to
546
+ true by adding the following to your application.rb file:
547
+
548
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
549
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
550
+  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
551
+ ActiveRecord::InternalMetadata Load (0.8ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
552
+  (0.1ms) begin transaction
553
+  (0.0ms) commit transaction
554
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
555
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
556
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
557
+ boolean values and must have old data converted to 1 and 0 (its native boolean
558
+ serialization) before setting this flag to true. Conversion can be accomplished
559
+ by setting up a rake task which runs
560
+
561
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
562
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
563
+
564
+ for all models and all boolean columns, after which the flag must be set to
565
+ true by adding the following to your application.rb file:
566
+
567
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
568
+ (called from load at /Users/michelson/.rvm/gems/ruby-2.5.0/bin/rake:23)
569
+  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
570
+ Migrating to PaperclipFieldsToPortability (20190221193829)
571
+  (0.1ms) begin transaction
572
+  (0.4ms) ALTER TABLE "policy_manager_portability_requests" ADD "attachment" varchar
573
+  (0.1ms) rollback transaction
574
+ DEPRECATION WARNING: Leaving `ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer`
575
+ set to false is deprecated. SQLite databases have used 't' and 'f' to serialize
576
+ boolean values and must have old data converted to 1 and 0 (its native boolean
577
+ serialization) before setting this flag to true. Conversion can be accomplished
578
+ by setting up a rake task which runs
579
+
580
+ ExampleModel.where("boolean_column = 't'").update_all(boolean_column: 1)
581
+ ExampleModel.where("boolean_column = 'f'").update_all(boolean_column: 0)
582
+
583
+ for all models and all boolean columns, after which the flag must be set to
584
+ true by adding the following to your application.rb file:
585
+
586
+ Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
587
+ (called from require at bin/rails:4)