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.
- checksums.yaml +4 -4
- data/README.md +34 -1
- data/app/models/policy_manager/concerns/active_storage_behavior.rb +31 -0
- data/app/models/policy_manager/concerns/paperclip_behavior.rb +28 -0
- data/app/models/policy_manager/portability_request.rb +5 -19
- data/app/views/policy_manager/portability_mailer/completed_notification.erb +1 -1
- data/app/views/policy_manager/user_portability_requests/index.html.erb +1 -1
- data/db/migrate/20180410171354_create_policy_manager_portability_requests.rb +0 -7
- data/lib/generators/policy_manager/paperclip_generator.rb +19 -0
- data/lib/policy_manager.rb +1 -0
- data/lib/policy_manager/config.rb +2 -1
- data/lib/policy_manager/engine.rb +1 -0
- data/lib/policy_manager/version.rb +1 -1
- data/lib/tasks/terms_tasks.rake +3 -3
- data/lib/templates/migrations/paperclip_fields.rb +9 -0
- data/spec/dummy/config/environments/development.rb +2 -0
- data/spec/dummy/config/environments/test.rb +1 -0
- data/spec/dummy/config/storage.yml +7 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20190221193828_create_active_storage_tables.active_storage.rb +27 -0
- data/spec/dummy/db/migrate/20190221193829_paperclip_fields_to_portability.rb +9 -0
- data/spec/dummy/db/schema.rb +22 -1
- data/spec/dummy/log/development.log +144 -0
- data/spec/dummy/log/test.log +59042 -0
- data/spec/dummy/storage/2l/36/2l362zssgrk8520386277x1m7sap +0 -0
- data/spec/dummy/storage/3h/t8/3ht83746l6xcrys3zqakgm3amnd2 +0 -0
- data/spec/dummy/storage/et/2c/et2cyefqb7fwpqlvkdtwsj2x9rif +0 -0
- data/spec/dummy/storage/f8/g8/f8g8ftde3q0mx6z31dlabg0kr9l1 +0 -0
- data/spec/dummy/storage/la/cq/lacq4gwt9028i07ep7yj989ezjzv +0 -0
- data/spec/dummy/storage/lz/fz/lzfz3esm4xdo00ovfqyzql6roqy8 +0 -0
- data/spec/dummy/storage/w8/1m/w81m2darf15pkw92haf9s6vhym9v +0 -0
- data/spec/dummy/storage/xx/5p/xx5pbr13a6y8v9yqwze3riajant8 +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0v/0vE_Z5wQdjFNHo1cpMhj30ohNqK1pw5lRopJ5tjmIK4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/16/16OQnBzpvvoLSOsch-jiWOeoqdKJa4Qm7_Uu1KTeqj4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1I/1IEuwz2loqzjXRmgaC9CjDTC_dv_Fq9RQz_SHbOUfxg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1y/1yK6Yk9GhmbhUK04f_2GjfRAndt8iFZh1kJ8QToMMh0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2R/2RgzPEVUHFyz58qIDy0lvbj-Z9EfixkKrOy9PTrXLJA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2h/2hQ-Sec8cSlP0-fnhJEpFc5LmC9HtnY18UGydYCbrH4.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4F/4F3tjiAG47V8a_Yxd0hUOdKmPe9F6u_drmDLQaglfPk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4j/4jsVretxsx-HpkD8Z0J7L8lGvulMm62OE_ZRpZy2T2s.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4l/4lVraBq_1ToSspsyxfDWTQCB7YwxLYdzudGv51iXshE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4u/4uoPk5K9mLQvduTqkjeXtBeaWojenX5Dn-dBdkX5CqA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/55/55dq5CacmKKx4EidTHiUg1no98mwc6qnMkSRZ_w6eiQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5m/5mO5S2MfbEUVxkXH46amJgMg-T2BHvPkW-PHDU1kP68.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6F/6Ffi6KsaVabRSwIvAirrkCPegnnsGejpi_fvti6aRSM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6H/6HYz7TxqgQEvMtS_-eMfRZoHzUdtpIiYjnWn0SjO7UM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7F/7F7JkSo6jlM0voz0l3MZWt5QwacPA0dpP_1kzBPXnqA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7G/7GLEQz_Aq3OIicABdwjBkskGHxX1ovVdciz-9BNd6g0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8A/8AeLZZy3ZDyx1PfRZRe9udwZPu-rdrYOxRtr-812fBY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8c/8cZC-c0OrbqSaU34YPcNs-J9BFxPlIZVyC1h-vb6IGw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bj/Bj8KwkQl2ElOYrAyay23nhzeXTmS1JBYzDdXkXOs7ak.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D7/D7RTGYIjP5u6EEwmDfym0vdsv-qup2wn_0v0q-0_lLU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DC/DC2JuhCKJcQ-62Xjy0MetCg8kg6Y9v1Fq62DzqLuUdc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DC/DCpjyYVHt2BQw1NkNXqQ-4Ig5ci2nKQn_IpwMT2QIw8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DE/DEe1YuLlrLaRx7Pn9h60U3MUfLPoIknJYdDMHCLjeZQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ea/EaxGB9YXoJUQCu0GAOTsYJTQVm7DOcwRYr6PYCJizKc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ez/Ez830tsf92ANv8aYp0eukenQosDepHkYPSw7zpbYv7s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FB/FBax1REqD66hPpVRc5eOVs9187oG5nIm89cpSv632Mk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FC/FCwWvGq13B6nJe4VfmsPwNqAsfCiKxhSmSGJjvsb0Gk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FJ/FJGvPB0sPBL2fnD4dv1prKuXejP_PbmVxITXGlNWhII.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FV/FVo-aHKXwy1yxqSMJbkLyHPwRAyFujt9uxWXYbPica0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FV/FvG3upOQz-Pf0bkOzjbt5Tob6s5vGvKTsR3Z4I0GXXk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FX/FXQObKxl_tePRMj1tD2dHU7vUJSArzp-O0eRmuHOILI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FX/FxCTdprYygoEahFK0vLstkTQlvZvyqDcv01-Vivhwtc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G2/G26n_qGwdmsnStMjB4xjj9BALv1KpivpR7v8oL9i9UA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HB/HBAJM5iGpE8mygYQoQXo94iLywhzb50rXbxsp-0QFHo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JU/JULD7yaDdSPcznVADa55-Md62qN2cc3IjaBK5tgJybY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jd/JdDmTUo0JWUe6FOMUmnDGqGJjQ21t-X3Ha-we14SIIE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K4/K4miwIujBlZfa-jgPUN-CBJf14YtZ5twNxk4p0gxzDE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KO/KOErQTQTiecLdWHaeBcU87YYSN5jXe9pAkOLAM4wzkI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kj/Kj07Vv-IPPjCqlFBsv7B4KiCoorsOrqfgD3GA7CHebE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MJ/mJiRDhNK9lBJ0zlxsd8P-0yQ7IaE0jGnTh-BmUYpiEA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NW/NWISOQse2-AzHx07F4vid8WRt1mt1GA1uYYeX8UvV2o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Of/Of0abBZL1rHSALuMB_rQHPj5tqEAeCCSuVY2ZmGK27I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PD/PD8TIIzCmreylNveA9PAjg6F-GvlPXqGA42hDYt3uA0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ph/PhMFP9F_bMraBte1M3JjSFG56bg6A07qOmmkIOpbxY8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ps/PstKAWj2Ifinqxxl_JTVUXYo_bQbGeCGJmeom5uVecc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q1/Q11Up7amirYkztBQY9eQ30UmGuVpulHwjKmzge2y5zQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q1/Q1RkUqa15TQX-W_ymPHwYE2Uqiu0EvUnXM0Y9DGVViI.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qp/QpyABqS_v3Wm3NTJS5DMsYMu7fCe1FaQ41SA0cB-I_Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R1/R1jk23_EMom3a-8UlqGk2biKNYdvnb9twNtulD5u3z0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rs/Rs2r5EZJjVdL5bZ-ARxMoFhu1ILGuJcGlU4HciUZt4g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SF/SFXkrPlHDYYHsT2MmYIV5Q2GdBa8aR99KRHXP2DG7zc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SY/SYsH1LNj04sGoAtIDjZcj2tbeB50S_3Apy1u8eQxtZ0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Th/ThPl90mnKyOL-hIISMWTS2RtDjuRvWGwUxvOCKkCy9Q.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Us/UsdQRHUf-zrBnHLmAUGpqNF9-AcpT3ALFZGgMQudV0w.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VM/VMWSbcmtyQTVs5WpkUkWdn92tdhwmFfDfOReVqs1xvw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vr/Vrg5XqKRMlQocxybobVKGx85yUXixQz-XzruejArrWQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W2/W2sH6Lbfxh0Vv-UNsYZQbUMNkV4KTRekALRm0gxRrEI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XO/XOX4fX9VV69SKK9y8Tj3Bt4ZbzND_mkkqG50I51LPgY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xe/XeqUueJXiYt6HKhqAV0M-oIwbhysjVUBAVsxLpwVdgo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YW/YWn8PssbiFBLfgmIGOMPUpnM6mWWX3TwnyutdbnQTb4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yl/YlzYXKEUXsvrUYqFQNm3FmmKpU5u-xbH91wZJ9r3-bQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YukzgTJTB7k2Fwy2rMGCD8hZY90GFYlbkAT4YmW_UYE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZC/ZCJceZHSXZ9KJi_fwdE2pCn2eAWeLnJatJwkigaYtlk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZR/ZR5fTWQEj8FzDhyEhQoRwT6u4Vlqf9YupCyZdXxwz6I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_f/_fjyctiFHEUpkdWsXty-j_0kwZLxUYItWdxVfRFvFMI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_z/_zDy0xkpyHdcugIQG4UxD73ACa0eIc_yE3sQeGPBM3E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aL/aLxSLdT3QTNPAjVcxAJzvmTRBXZzo7zTZYSgwDfA3XM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c4/c43KRQCk0IF_ZA9YSwMDa61apcA5um8Pmijw88nQurg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dg/dgm0UAQyZ-78r6OAt5bCrv8O5_plUw7fJwyQQYwcre0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dl/dlfJ8lP5LynKDEGKpYau_R8ql0i_P-5b733IMnaJVqU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eB/EbfyEy2PQY2H8U3FO-5AxZIhHm1kynbBRssQlDsJYfk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eX/eXDy3dO5S2za0pvARSkmlsa5Lx-nJf43OTc4bg-Fs_I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ei/eiAufSKLI8jd9nhEU-pCEdlQXiCZLuOLzk7IIMo8bHE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g8/g87FI_OtYNjCQGODNkw1wl8S-qRLXGeCiohCVvnkl0s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gP/gPGg8P18vP0lkwjOEzLebQqvPxexYOGWXWN8zL8L91g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gT/gT5jbNDSaj24YKiPSTT9GPN1iaxf9LrB6j6kmbiA5nI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hQ/hQwsOgXT3j28mQdnUMFVh_4yG0cO9XOGuNsqvmRkFdM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/HVuTRKGtbtagLsBphiGh3bnPEmy7t9matkUNjR6tr3U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/hVvyHPED6YQde4oe-SOQeHQPRBQ6KUQ9h8Rk6n5iNOM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hV/hvrOjYN1We_Zy2Jm45yxxS07vcinBFRy2g-WTa7JHeo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hs/hsDumxZlwL-wWI8_U9Vw27WVcNPd7chlY9DI8_c866U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iM/iMdWekcMrIqNwS8XN5jsEYU68nRMsjdJdlkikdYmFHg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ie/ieH53fiEvGCHmEzynbmTE0VP7FcTVs-nbNBZWnedeX8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j5/j5bzKA4TUTTfyH1P_hff_KLkrGidUNy6zNezarGma1M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k3/k3cXru2ZiYB4eLVwMfq0rGWP7_7ke16e2q6t54U_Q7U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kM/kM__tC376q_VPIFhfieVd8CaQdjVc48HByTKSVjb5Qc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kl/klCSNNO4xipPe4MTGfCq30QZ31uCprvmNqy3dSycr_U.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lW/lWpDsHb65Hy4YhNn4s-RFZTEVrl0HM7hZho8AI0Zrtc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lg/lg1ExD6zq_Fv1Ht71z2B1MwWlhUeyq0rAT-gP_8-37c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mC/mCDbJYaBB6x9OtbnRYgXYDjfWrU_eEBaz4U59rSID4I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mF/mFO5YlY3J7S2IyfwoxGzTtEqSuMHJk3vY3qRODmSs9E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n1/n18e5MSsVHLwvGv5J_1BYo70Tn_hzaWZj2XJL9AL0NY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nP/nPfjszQ5f1RoLJDRcIdRVMxlZi3idmZGvLKVjVzW0GY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oE/oEDfFcqQ_GLaGhzRA9BtRMb4sxlbsG4Z_NUm3TZXzRo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oR/OrKM2ee0whN1Cmao8YIbPYxYvscMu2QhrFOHHpyxngc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oR/oRoKFABHTlwDCMnOCwFUq8GGjFMQD_ipYTQRkH-Dbho.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oq/oqmFQVcYpArkznSiHWfq2WYiWGM6I0VY6JR6Lz-p31c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oz/oZiMbegOVZ6Q_3ZDeufAsDf5j2QxnzdRExOYPcOZ7vA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p0/p0jMhMrkXWEXKdz0A_xO8foeJcDMfZU725lMT6cB9vk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pN/pN4p1lZXHOR3GQMh9DiMiwCRBAfUy8V6FwCsCG_XERU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pa/pa0oPVXHM4TRg_i1XhleC6MnNKBoOhEPB4Jz8gMcI-A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qO/qodPZ864mIN2KkgSFDLgHG352smn1rc2MAGF7gf-VQs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qg/qGvrZ0gQHs2ngHSUSNFr5biz5gRWkC-uSwTp8Hn1gkY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qz/qzeLBTNrj-DGN3aYNYMfdZKSa8Sv3pRvq7S2Z5Y9G84.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rh/rhiHxaMtmmZZYiO583Or4k7BPLAmMzeqyLc0gmJoKLg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tN/tNljEmpPtqxyj5gAl-g2gi0XGWnVTxUm3UaAsYmEZvA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tg/tgFtWSjMbFR-ImOK3ynY9xJnkM2adReWxndXb5n1ojc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uP/uPqhym-rHxeDWpzVfq0ytpIKzS0nbQpLKPhOuwO2Btk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uQ/uQ5RsssbOIdTqh9WElwvBqoOIIjJQEXxVY6SFWyAiP8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uY/uYo0EdBp9gEu6FIw_VfPKokHrOdHuHqyVeOpkFnSQHE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uk/UkZQIk6sqUJnY_Aajep_9n1ckufVbHWLAGYe9Q6SVuU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uk/ukkPjFzFTAYsB0Vzs37KNyiqPdimeD63KZsecBbtr-M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5_n9hMUSZ2_62Nidzj5gJEE-2e_rpuKuJIffIaBGbc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v7/v7isAGwkxm0q3aLkOGPDUGmBNUd7F2ZsF75oGRcOUd8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vK/vK60lKIO22Zxo-kW_1tTY5X248fMVrpJX9TB79iEmJQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vK/vKf4GGdinHdcU3CtkPsgZtSn8ydW_EV1mjPVoQzX890.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vq/vqPy5rvDzLDmCBsxkzdWVkoeh-NbgK_AZufVx-K2zmg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vw/vwfN5d6phkc9KgypzH6bSSYkYpP10LA_06AtrggyBt8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wW/wWWddLxrTHTYaE5qyqSL_Oi8hXFZoXUKvSV55bcdrA4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xD/xDzep5JtXC_vfoPL8E418yUyQ2MLCPVtlXNseCfTKng.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xQ/XqTZzabMfsw7bjhpIkHwMcoBCFnmVypvg-ZOyMmd07M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y7/y7Bd-x0em9X5vXKffVc3JdeBDyFz3l1by8-4ccZmjH4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/ZKPLUpoS8Gqz08tLK15U9y0iTOQp-VC9v4yxHOSwBOo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/zKuvJ5btxxJbOGE01VUzyiZoVHYr8JrPHedPibo8jNs.cache +0 -0
- data/spec/dummy/tmp/export/29-out.zip +0 -0
- data/spec/dummy/tmp/export/29/exportable_data/10/index.html +14 -0
- data/spec/dummy/tmp/export/{28/exportable_data/3 → 29/exportable_data/2}/index.html +4 -4
- data/spec/dummy/tmp/export/29/exportable_data/3/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/4/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/5/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/6/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/7/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/8/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/9/index.html +14 -0
- data/spec/dummy/tmp/export/29/exportable_data/index.html +14 -0
- data/spec/dummy/tmp/export/{28 → 29}/index.html +6 -6
- data/spec/models/policy_manager/portability_request_spec.rb +141 -58
- data/spec/rails_helper.rb +1 -1
- metadata +293 -65
- data/spec/dummy/tmp/export/28-out.zip +0 -0
- data/spec/dummy/tmp/export/28/exportable_data/10/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/2/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/4/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/5/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/6/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/7/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/8/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/9/index.html +0 -14
- data/spec/dummy/tmp/export/28/exportable_data/index.html +0 -14
- data/spec/dummy/tmp/portability/1/build.zip +0 -0
- data/spec/dummy/tmp/portability/14/build.zip +0 -0
- data/spec/dummy/tmp/portability/15/build.zip +0 -0
- data/spec/dummy/tmp/portability/16/build.zip +0 -0
- data/spec/dummy/tmp/portability/17/build.zip +0 -0
- data/spec/dummy/tmp/portability/18/build.zip +0 -0
- data/spec/dummy/tmp/portability/2/build.zip +0 -0
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd4d3c3a82cf1d70631ee098e62e65adc4886b9807afb0a4545a62b4dfcd8e56
|
4
|
+
data.tar.gz: 3b2c029fd71c0f29e9b1e5ca5fdec1ebe0bb6100680052a77de91e008d983ce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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.
|
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.
|
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
|
data/lib/policy_manager.rb
CHANGED
@@ -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'
|
data/lib/tasks/terms_tasks.rake
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
# desc "Explaining what the task does"
|
2
|
-
|
3
|
-
|
4
|
-
|
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
|
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
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -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:
|
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
|
+
[1m[35m (0.5ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
473
|
+
Migrating to CreateActiveStorageTables (20190221193828)
|
474
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
475
|
+
[1m[35m (0.5ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
476
|
+
[1m[35m (1.3ms)[0m [1m[35mCREATE 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)[0m
|
477
|
+
[1m[35m (0.1ms)[0m [1m[35mCREATE UNIQUE INDEX "index_active_storage_blobs_on_key" ON "active_storage_blobs" ("key")[0m
|
478
|
+
[1m[35m (0.2ms)[0m [1m[35mCREATE 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)[0m
|
479
|
+
[1m[35m (0.1ms)[0m [1m[35mCREATE INDEX "index_active_storage_attachments_on_blob_id" ON "active_storage_attachments" ("blob_id")[0m
|
480
|
+
[1m[35m (0.1ms)[0m [1m[35mCREATE UNIQUE INDEX "index_active_storage_attachments_uniqueness" ON "active_storage_attachments" ("record_type", "record_id", "name", "blob_id")[0m
|
481
|
+
[1m[36mActiveRecord::SchemaMigration Create (0.6ms)[0m [1m[32mINSERT INTO "schema_migrations" ("version") VALUES (?)[0m [["version", "20190221193828"]]
|
482
|
+
[1m[35m (2.4ms)[0m [1m[36mcommit transaction[0m
|
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
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
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
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
515
|
+
Migrating to AddAttachmentPortabilityRequests (20190612175312)
|
516
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
517
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
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
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
533
|
+
Migrating to AddAttachmentPortabilityRequests (20190612175312)
|
534
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
535
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
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
|
+
[1m[35m (0.6ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
551
|
+
[1m[36mActiveRecord::InternalMetadata Load (0.8ms)[0m [1m[34mSELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ?[0m [["key", "environment"], ["LIMIT", 1]]
|
552
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
553
|
+
[1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
|
554
|
+
[1m[35m (0.1ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
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
|
+
[1m[35m (0.2ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
570
|
+
Migrating to PaperclipFieldsToPortability (20190221193829)
|
571
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
572
|
+
[1m[35m (0.4ms)[0m [1m[35mALTER TABLE "policy_manager_portability_requests" ADD "attachment" varchar[0m
|
573
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
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)
|