gov_uk_date_fields 3.2.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. checksums.yaml +5 -5
  2. data/lib/gov_uk_date_fields/acts_as_gov_uk_date.rb +3 -3
  3. data/lib/gov_uk_date_fields/form_fields.rb +116 -175
  4. data/lib/gov_uk_date_fields/version.rb +1 -2
  5. data/test/dummy/app/models/override_error_clash_employee.rb +1 -1
  6. data/test/dummy/app/views/employees/_form.html.erb +1 -1
  7. data/test/dummy/config/locales/en.yml +18 -1
  8. data/test/dummy/log/development.log +16 -75
  9. data/test/dummy/log/test.log +9698 -9985
  10. data/test/dummy/test/controllers/employees_controller_test.rb +2 -7
  11. data/test/dummy/test/fixtures/files/date_fields_error.html +37 -0
  12. data/test/dummy/test/fixtures/files/date_fields_no_error.html +36 -0
  13. data/test/dummy/test/fixtures/files/date_fields_no_heading.html +34 -0
  14. data/test/dummy/test/models/default_error_clash_employee_test.rb +2 -2
  15. data/test/dummy/test/models/director_test.rb +1 -1
  16. data/test/dummy/test/models/employee_test.rb +2 -2
  17. data/test/dummy/test/models/form_date_test.rb +1 -1
  18. data/test/dummy/test/models/form_fields_test.rb +16 -311
  19. data/test/dummy/test/models/omit_error_clash_employee_test.rb +2 -2
  20. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0Y/0YE2mdL29epdwLbTYeYKNxQcs-QnX0Sm1c1d7S336dY.cache +1 -0
  21. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{yT/yT_nRLqIDQ28z08hN_-NTT9eiloDu_eUYRjpyCiXoc0.cache → 10/108c5KoSTkUfLo934Fi9JkHzMOx_lJkVMPG1ct1Hj1Y.cache} +0 -0
  22. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1D/1DSJep8RvpL0bKekcrPoTlfiAWzMx253hI6CPzgd_Yo.cache +1 -0
  23. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  24. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{Jv/JvuVcEPJ2dfgqEpjVq5ORGNHaZZTAj79xvYOvLRmlaE.cache → 8M/8MByLANOkxnxtwqWuaeLzh_J4rurtoIBeW03ek6Y08w.cache} +0 -0
  25. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AX/AX3L2fGpRF9VevxsOcMT3K8MFiRGjRX81JBxvrH7IIc.cache +0 -0
  26. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{nF/nFU_cKPtM_LAeD5k50FwO2haSeFfU28zLVq9ACyLoc4.cache → AY/AY9AvC57Rkn-jl_1CbQHaLLJu187OaKJ_Xa1boNAQ9Q.cache} +0 -0
  27. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{Dw → DW}/DWiSprTdmJSiF4eYqRLDfLfWLyF-m0Mk3TOoLQXKKW0.cache +0 -0
  28. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
  29. data/test/dummy/tmp/cache/assets/sprockets/v3.0/En/EnEfvwgFKP1AahR6eTP-u0TeHcVpHV2cuOYmDrfoDec.cache +1 -0
  30. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{zF/zFkhrrravmeW44GBd3ZlMtqo96To6Zso0hWQ_7NIgU4.cache → GW/GWPTgNDuFCS8p0ARIL21FLMCy42vfx4PSInNAm8hmyw.cache} +0 -0
  31. data/test/dummy/tmp/cache/assets/sprockets/v3.0/I4/I4zyVgaaEAo-RxZorzwj10dfMJ9z4yjkfkCrJJMiEYs.cache +1 -0
  32. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{zZ/zZtt48vCgYQCNsRIgT0I7gm6ibVcw21dTHF-Smx_zyo.cache → Jz/Jzjppg8cll3TxA_gcD3cXEbcs2K5YsKR0bxKd9vOVuM.cache} +0 -0
  33. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{bE/bEgoYkpGjiyAWAaXBvA_-Aya6FVRKq3XugvZkD08uXQ.cache → Ke/KeDHuzXMfGj06rzGw-wM0tr5j4viSTDtJ3tRD3-9jRI.cache} +0 -0
  34. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{S3/S3JvZKFiEugwAnmXkwwIHiCCZRjyZ6IaYNLYrxKc8Bs.cache → M2/M2O1kCLdiZHeElbkOPVkvow3BKa026ayrJI6fMMFyRY.cache} +0 -0
  35. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{Dw/Dw55FjtHl3tZdotlQ-Qc_p6g_xU8_jN0RvAo4x6Iodw.cache → N2/N2SgsVGMNSkhPUm1NueQzvaGoGg97WYxU0bJ6jAsE1E.cache} +0 -0
  36. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OA/OAq0JC69RB8688u80nj0uZUjqoy07Gdk-Ix9DVkq-P8.cache +1 -0
  37. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  38. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QA/QA32z-4v8KU7eagra1ogcpOZOh5qLTIKxsr-0mmUYOk.cache +1 -0
  39. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{nP/nPNMfuYlHJYq2PChYn-dJcrv2a_jlRXt70OIDOC2f3A.cache → WG/WGiwsdOFJDQRfkEQ_J28GODJYTENHaNDez1hrVfCI-M.cache} +0 -0
  40. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{0o/0oInIs02FOPPbxkc52rj0mlKSxvUWiQroHIAdK1-thg.cache → WR/WRD9H9nclKzl7WRqg40Cv0Aiah_8cxYk9fHbzo288CA.cache} +0 -0
  41. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{23/23OcjleyoUnN5T0v_oEwEEVK7l5HEyIO_KGRr2Makg0.cache → Zv/ZvIP7azgTxQl6lCLJ5_4GMA9X2jdo5qkqWyhCkvLY-c.cache} +0 -0
  42. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{xW/xWcOh5MVCm281jFhvp-yEspa_fKBR-hNjukgcR5BcQc.cache → _J/_JuLBi_RjcFhLlHO-CAH2DseU3sebABcazh2bG2D3iE.cache} +0 -0
  43. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{9q/9qLwpIJTX-7ZoyIq9cKaupiX3ryroIs-QPEHs4sVkp4.cache → _Q/_Qox8K7DFagL2Xu68DQ1sa5-OLdgLiJhqxzT5yrQ_Ls.cache} +0 -0
  44. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aD/aDGWuTF47JbhohmDBQPQ88olIS3GLQnTWjXucFfudqI.cache +1 -0
  45. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c2/c2eylaGC7M-UaIFspLdQSOwF2xwaBfh_KkxXy7ipAKI.cache +1 -0
  46. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{4e/4egQqgxJf8J649hF2A1Bnp_GKg9LM-RknYoLKE-UZ2A.cache → c4/c4yH_5hfuj7Unapfm2iHiMs3H3niA7Drv9ah10lFUE4.cache} +0 -0
  47. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{qq/qq-Xil9Ea0LYUOTmL8PNvbctRk9UmvSoTXVqb6UrfZs.cache → fy/fyxgGmo8LCAXwjpG0tmrssI0QrjfoeWZSgYMshvJZTQ.cache} +0 -0
  48. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  49. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hi/hivuiGt4E4n9IsL7iMnPPAzK1vMRiG38tocXbUiQDuc.cache +1 -0
  50. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nh/nhnGmySVxVMqADIhTEbaTI5gjYNjSl7RvBYwc9KcHU8.cache +1 -0
  51. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{fY/fY99QjTR_SaHBL2SbemIQsYsDwFOQU7PGhKJ0Vt1-jQ.cache → oC/oCyHm9DrBpNyFSoBvDDZxU4QbPwynEtk3yQzV2nQb_0.cache} +0 -0
  52. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  53. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{7R/7RgBc5W-iWfwB4Q_7rhG6u6D7DjSzD7xvQWOlIqpszA.cache → rn/rnK-Quxkoezp5SGMIvmt45BYCiDE2GwhrBa2tXj3PdM.cache} +0 -0
  54. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{NX/NXDQ1sgEQGILdcxYFFO4lKZxlGGRl9T4jcCVdn3rGQo.cache → u7/u7zQSbx5qekH_wKj_w_ndn9Vbq4-BhdG06LSP9oRFaI.cache} +0 -0
  55. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{CO/CO2YyvOgffmUqAQ2EkHLZE0ntm5FnnvmToIDHk1LF5U.cache → v7/v7au9Ddbn0MF5xg-9xK1EhakJRPBxWGSrNZYDHTtj3A.cache} +0 -0
  56. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vU/vU-zjPdBQL_wrwTTQHVcfWW_-JiPpwkOnTQtNpMPsVk.cache +1 -0
  57. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vm/vmwrjDz0X5DTjfi9Br7uufd9E3BPYuSQbjXtJ4GV0JA.cache +1 -0
  58. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{HZ/HZsUO4HcK5s_HmEujlrVcvarYsEvhX1dkYtU_dAaXi4.cache → vr/vrkJjzYKa-iijpfapYYxHasVH4KeSWLJgnxnrMyYato.cache} +0 -0
  59. data/test/dummy/tmp/cache/assets/sprockets/v3.0/{G7/G7Mv62B1x3utAxPJdSSIdrvwZHJXX9FJ0Ok8f2_Xcas.cache → xB/xBfk4KXnrZkmM4gCrFY2XALXn0zTVcIZ9sE05MjD-Ao.cache} +0 -0
  60. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yH/yH-LUVpCFC8cqvwFp8v4VzRkwWrnAqBNViBRvhjiu3I.cache +1 -0
  61. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z-/z-w7acMcxl_DltdfBY7fxs7s2a2voVrIPjj_uF2T8Ds.cache +1 -0
  62. metadata +139 -480
  63. data/test/dummy/app/assets/config/manifest.js +0 -3
  64. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0C/0C2zg6Fz4ZDKb2SJoMeKCyuiEkK3VLTLoXTk6XtsYnk.cache +0 -1
  65. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1q/1qTKTELCNcaTGecih6WmU5XbelY0-n9ECxNFb7B3NDY.cache +0 -1
  66. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2v/2vYH0-57Ot7PCLWkuyRiVWFoDqDAisPuU54eB1XCuZs.cache +0 -1
  67. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6q/6qN0wbOkRQNgPkTlDcpknhkOthof-6RiGp49001MFl8.cache +0 -1
  68. data/test/dummy/tmp/cache/assets/sprockets/v3.0/87/87lBrKaac9bxHnrcDd3_kuqKV7Cn2kb3-9Yh1xDySjo.cache +0 -0
  69. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8V/8VyG_G4BEfk8MIRu6oRCTSH6mqACVltW1mpcxFN3OFg.cache +0 -0
  70. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cf/CfeJbgkSxTK0XPCiwgQgWyrRiyrF6cN7hFf-r_6I01U.cache +0 -1
  71. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Eu/EuA76ODujuCnlBhSte6qr-SmyKhVkUxSuclVqgApzE4.cache +0 -1
  72. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GC/GC81PWXaKC3ajKLxjzpoH51pU4pMHhnIVz0qDaR-ji8.cache +0 -0
  73. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gr/GrEOyJqOi5t6YEVvLLjKeGeh011ho1EsAt40oQPwCig.cache +0 -1
  74. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HI/HIDJJczke7ZLFWGLXu83cK3amyy_NL9S9QIHGU0Mo2k.cache +0 -1
  75. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  76. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pt/Pt3EirvAHSujxeOX1Lj29qw0MpynJZ6DBFZjFfuEsik.cache +0 -1
  77. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cB/cBujZqjQkDn9qy_o8TBwBmxz4MdHTRohOR4u2dApFMI.cache +0 -1
  78. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cS/cSydv5hX7yDiR067i_nXkPN_k2Z-c5fV-Qcd3uBIiEw.cache +0 -1
  79. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dj/dj1XrYy5f-virD2Zxdwb3IGvTmPt6OolJhNuRLyyiYE.cache +0 -1
  80. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gK/gK1XyCNNJN2snmep1wX9X6imlJWEM0zbgBefUO__N-4.cache +0 -1
  81. data/test/dummy/tmp/cache/assets/sprockets/v3.0/h8/h8KQnVqXMBM04d4llsrbfN7Eij0y78tMo6c5i8wH8bY.cache +0 -1
  82. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jZ/jZPtKns7VtCBuExt0ccCSvvH5kTxP3vEqd1W00U_3Vc.cache +0 -0
  83. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kB/kBO5u1GYzp_3At4KdTa7gu6M-8iJYzXwK7awXVhfdqQ.cache +0 -1
  84. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kX/kXHzil5_zI2pGnuGyZDJXFY_rhdpZjAbOhADTVcnOG4.cache +0 -1
  85. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lm/lmLdQ9YYUNBpTGdPEpu9Jg8U72UBOztolRY2JGn69PQ.cache +0 -0
  86. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mA/mA18PsmXNFA3Y035kDJ_LZaf5PvfUZJrjX1BNstNcM8.cache +0 -1
  87. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oR/oREyRPrhTN2nImWV9UIIivSk5CeZ7vpcmwFg6CMNoGQ.cache +0 -1
  88. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qK/qKwRM7szJUtdx-IcB_777nsCap0rkqBzoVO9zNTaLsY.cache +0 -1
  89. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tZ/tZXykf9r0-2TBfW8kYENSOSCiGgumN-qg_iTonTBlmQ.cache +0 -1
  90. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vK/vKX6ctQVu9JvSI-2SMltdyExiRitTeQ9QNMAUkOsG0E.cache +0 -0
  91. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xo/xo0vwho1GEXuJPGLrvAxM5Ag7xiZme4jPtTrZL2wSGY.cache +0 -1
  92. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yG/yGhSuZRuCtgZCBYZtGTzP3HHN73lpDEh0ZSY9fXMr74.cache +0 -0
  93. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/-Z/-Z_h_4Unpc88mowLyAvBGnzVU0Q1YGutE_Axwda6E-k.cache +0 -0
  94. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0F/0FBvTP5GR23sqfKQqc3ndsfMXyIceqNSEMDGdeKx-iw.cache +0 -1
  95. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0H/0H-x3YNdtFXB94YeI8x7aR8S_ip-ncjUMtQcHWrxmYU.cache +0 -1
  96. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0I/0I0SJYh6xyz2kJ-P0dZ1c8kq_lc0wkRDY1ZEeAombQo.cache +0 -1
  97. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0a/0a16TXIS237lMaBIne5Nr5Zz_LkXQroGtjhqyUhCOYQ.cache +0 -0
  98. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0o/0oInIs02FOPPbxkc52rj0mlKSxvUWiQroHIAdK1-thg.cache +0 -2
  99. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0x/0xhJ8L6OMV5vcaHsJhFkB86iwdpcvaYz_fkAT-Taid4.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/11/11ovRdbo434VRd2K0Sat3eZTuQn6hLBSz69i01_fDZ8.cache +0 -1
  101. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1L/1LKKfhEshJn3Vkh_w-e1-kWlTcLxCX9Ko-A5bHs8IJk.cache +0 -1
  102. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1q/1qiSFQz632X5e9WPVfylDJEbBQNybZ_B8Sv9Z6QYmBE.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1q/1qj0QOwYJDQe1Z013CtPeEPNXG1OMChaEtHpXydsNLU.cache +0 -1
  104. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2U/2UTPo9bZtE2VMmv3ozQT5LpfnndJo1TaQ6VAOY0dAFQ.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2Y/2Y_bnBFrkUg5jfWaE8JqdFpTlpaph3M9TnbVbheAnVE.cache +0 -1
  106. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2d/2dhiBTjBCH6rUfCJGoAp3fXgrDHxLIrybhE4TAS2su8.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2e/2eaZjL8VZkwBDj6_Ro4Inm_MiiL-Vo4EA2N_YXXqIbE.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/3L/3LLbLA5KeaIOLhIv_Gd4Ke0QwKOR60UpxDygSUPKvcw.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/3V/3Vp6Vz-4zhrPldj3YOSh5HPvQ1z9WvydvQHQtIP6bXQ.cache +0 -0
  110. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4e/4eJoHAAJ4SF9Yw_4r61OtLTF9pK28G2ESTXYTkgT0qQ.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4e/4egQqgxJf8J649hF2A1Bnp_GKg9LM-RknYoLKE-UZ2A.cache +0 -2
  112. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4g/4gt5Zf3XYLpssAYW6ANTaUFYel_6yWgzo9gI0M-lR6E.cache +0 -0
  113. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/52/5248EdGUC74D1uVXiRxivkYvXF6xizQCiiKneqnfik4.cache +0 -0
  114. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  115. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5q/5qu4rDjlcYQsPiQ6LBaCgbGvyYcbelAMWMNC5u80hWc.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5y/5Y9YnqLJJcIPyOyVcyWfDDb-U8nRpHueM2YGPtYmZm4.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5y/5y-aQ4cIum-_A2jTKUwbHTzo6AL99_jhiXTAcxlc5Ss.cache +0 -1
  118. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/6H/6H4HGvZ3o4Pj8QMLBN3igwFMMODcAyz8U2Ap0ACQqok.cache +0 -0
  119. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7H/7Hh93d3G281lD_G4MM-K7YL0RtvfF3osZ3tK86p8Psk.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7Z/7Z60_jhGYjjOBTk3r8Aa2ZV4DwTHuXc4JsqT13bCljc.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7_/7_AwiCYgfhRrM7cCMv0hHNDLbBHjBAefE6DGXZMmR_Y.cache +0 -1
  122. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7y/7y6I3anJ9tl14HZnadomQ7cELiD8gCH-7ZzTu_1EdHE.cache +0 -1
  123. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/8W/8W7Id0h5U77_eVkkCY4ROJBUKABLRHsr5yo_vzBNoA4.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/92/92DncEpOSowpziX2RSXmGIKXaJo7h2rr9Hh6wyVOsRM.cache +0 -1
  125. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/AO/AOY_58Ai8y4zMJ13jdYBdoBNJHwlX4gtzflhfP2nl6k.cache +0 -0
  126. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/AX/AX3L2fGpRF9VevxsOcMT3K8MFiRGjRX81JBxvrH7IIc.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ae/Ae8TT4CWvaYiU9htKxMdEGvyqei1BwzmBv1Nx1P9nJk.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/C-/C-dw0M8QOQN8DjROlM-aUteggu3d6KaQD-rBmHAQ4dU.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/CM/CMeCT2T7Nd7PUPEtbK1YCarmzltllbcbsHI892df9Uo.cache +0 -1
  130. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Cx/CxFaDQ7eiev2TscT8JVGXaGPk3cp5G570swmMTHgQ_c.cache +0 -0
  131. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Cy/Cy7ukAcjEzA3MRcdnk_b2Er6WEcQp6H-JgHK_Ynp_f0.cache +0 -1
  132. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/DL/DLx6X060Ro6If4wo58zNFkatwuSqI7v70Q7gLspwlbc.cache +0 -0
  133. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Da/DahTrnxxMFavj3bHuCvhl03IXIb5XRXdj6PLUtMwVoI.cache +0 -1
  134. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +0 -2
  136. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Dw/DWiSprTdmJSiF4eYqRLDfLfWLyF-m0Mk3TOoLQXKKW0.cache +0 -0
  137. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Dw/Dw55FjtHl3tZdotlQ-Qc_p6g_xU8_jN0RvAo4x6Iodw.cache +0 -1
  138. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/EA/EAMGb3LcvsJYsKCvU0FH3cFXQBqTmDHdm68CRcGGkxs.cache +0 -0
  139. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/E_/E_W6iw-BuQe5s-mYc0KGLeDnlPKpjb5WwDWmfvoFQfY.cache +0 -0
  140. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ec/Ec_ZzE-v25zNdUcq_c89RG18zjL-WlDjm8BtuWkEDQY.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Eh/Eh9QKhmMiFjURoKhfRdV-ENTcf2aCkBwn7fZdcwWbJI.cache +0 -1
  142. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/G7/G7Mv62B1x3utAxPJdSSIdrvwZHJXX9FJ0Ok8f2_Xcas.cache +0 -1
  143. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/HZ/HZsUO4HcK5s_HmEujlrVcvarYsEvhX1dkYtU_dAaXi4.cache +0 -1
  144. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/HZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  145. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Hu/HuxqAoY_FoJq94YbRhmLRcXiA6K7xPXT3ViyV8vtr38.cache +0 -1
  146. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/LI/LIOeD2c3MYj4K4LebnGYcpb1F-G7eHCqyVcF3fLmivk.cache +0 -1
  147. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Lw/Lw7tUkUABT5dQ0eElpmhiEbK8h6ChHhEEb3iIP_q6As.cache +0 -1
  148. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/MS/MSGM4EbafpLcAwntIK3SbxCpe4HOgb1PsFb6kixYpQc.cache +0 -1
  149. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/My/Myq6rgVMKFWObJUsyisfudlI1fWDVaFHdJtx_YNWgkE.cache +0 -0
  150. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/NQ/NQPKdzMo_-Y7Z1g71ze4cGMunsXI7GLsMv9aPxZoL0c.cache +0 -1
  151. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/NX/NXDQ1sgEQGILdcxYFFO4lKZxlGGRl9T4jcCVdn3rGQo.cache +0 -1
  152. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/O6/O6PjkGTcXaO89C6AbuadQ3tNJM7JAUPl22JkjSlGYT0.cache +0 -1
  153. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/OC/OCgWDw6AmW2ndZhYQJCovAT3MrQ1FUcjKcIVnicQFWs.cache +0 -1
  154. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  155. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/OI/OIcpSS_toFEgHpKqLUFT_EO_KEIHJ2ti8VepxMz0ROk.cache +0 -0
  156. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ok/OkjwT_Bg1Ete5QvfmAGVm-YuMHrlbTH5VOI8aDtyDbg.cache +0 -1
  157. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/P2/P2eaoG_3TI887exxv_G88ZYFhwOs5UOqKB7If9FLtHE.cache +0 -0
  158. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/PF/PFD-K2z1IpxItwCxGEIxoq56ay6rKDrBA1wUNEYxOOc.cache +0 -1
  159. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Pb/Pb2Wc_FYaxn6JgXTJbW_unn8UhGBuRirp7PEBynJFyA.cache +0 -0
  160. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Pw/PwV1n0VInOtXSi2kWiNdBHG44NAKqGfQx4OijtmIk5I.cache +0 -0
  161. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Q1/Q1XF7k1XjotY1C9SUWw3RaOuqBTZ3AygKU0FsKSGe8U.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Qz/Qzp8W2_UkKOjz2zFiW_NU9F5muj_NWe_SNfQTFuAwJg.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Rj/RjAAT5Yz0-DLD_Mqk0plvo2ZJETWi6OfE7OwrgDgV0Y.cache +0 -1
  164. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/SQ/SQ4FInw8GhP0CbMt5j--cYVTmJ9J4vnGrdOQO9Xtqrk.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/SQ/sqjUewwkSA_8EHVdu1FMHhYrbE5PsizV8_cA8hfGmnA.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/T6/T6J4CcKu5C6mgeOQxg5nNc-lRwowH_UgZWmD_GWtKTE.cache +0 -0
  167. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/US/USEnPg2AGtX0pVqQNI_iGrLtB9t-r253_6DzFzhoY9Q.cache +0 -1
  168. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ur/Urp_A9iMXa-_IL_490LwlCZf_uSsJ0vEzOstbw1eYcA.cache +0 -1
  169. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/V2/V20OShSf4KQuR_tjMKpClFMr_EWUbxFeXbOhvvz9QM4.cache +0 -1
  170. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/V8/V8ZewWLrocSiIOMQMOeIrIXDgvktN939nWcA_wnBszs.cache +0 -1
  171. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/V9/V9L43CeQ_CnU-AN9UFWq6CfGzyBeqnDTVYoi-6kzWzw.cache +0 -0
  172. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/VJ/VJmxbsC4FaMPXS6W4YvIWsY3QmFCEsPt4GwQE7WL45g.cache +0 -1
  173. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/VQ/VQD_HVLaDTBoPGbAKzzV-_A-w_pjFujFXcYW1T5yVJ4.cache +0 -1
  174. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Vk/Vk0wJE8hvbtGSNnzIW3-Evd7_M-Bc7emek0GFZQPapI.cache +0 -0
  175. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Vl/VlG6ELRInPv9ky3FCSBeoqEjLjSMt4vpS2DwNFVXb8A.cache +0 -0
  176. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Vx/Vxe4Sf0sQWMmEy1EUXOju_d85vr8NQz9whVR2xh9x5Q.cache +0 -1
  177. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/WG/WG5dYP-ckKzAMi5OcUWS50k31lbRPXJ-ipfPbVB_xlY.cache +0 -0
  178. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/WS/WS9KAWOQyTIZFYuurzD9AsqGHCu_ZwSrmIuze6mNNUs.cache +0 -1
  179. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/YS/YSAUVr5d_wbRSzz2BleSmYfkMZPYTbL3ftCUchYei3I.cache +0 -0
  180. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ye/YeFXSjqtQ1-x5ug53cQhZ8f3xpmzEl8h1ptuTDv6_t4.cache +0 -1
  181. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ye/Ye_ONiDRDCf5YZOULWxLUfsr-IjJryfMOA6FoDugNJA.cache +0 -1
  182. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/_v/_vqgTSCbx97kLKrll6zsn9s4qsUIFzwBUcV35brxnos.cache +0 -0
  183. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/aS/aSw2fAfFJBikdJOTGE7_86zOLdFTCWV_lkKX3TwOkb8.cache +0 -1
  184. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/am/amRg1jRK_9HgOnXuuV62V764wMrZPSQjCZ2VNBT-F28.cache +0 -0
  185. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/bD/bDtRIDP0s9tKUSyIAH31D5jroSMXZV0K7TynjIx3-8o.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/bn/bnXRQyRSltQCM8FUXL8lpo4y5YaBLea1PIvciJFDf9Y.cache +0 -1
  187. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/br/bruJcqITayQQfuI_0x5dUW7M9DzJdRPNh8Igf0jpniY.cache +0 -0
  188. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/cj/cjnpc-ByYZiJFv2-sjRS1AxvpxtM3S6sE2VB7NxZe80.cache +0 -1
  189. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/cu/cuFUNLq4kuBeMs4w5fUvIkk-MFPMl2OnmsssjJMyPK8.cache +0 -0
  190. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/dQ/dQNgP6iCVaJSFxAgjuLrbfAA0kOVoijPWxufXg3sQ80.cache +0 -1
  191. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/e7/e7BUqMzL_1E7BBnoV_nbJLoQu_SGqKtKJWOsQsZQUjU.cache +0 -0
  192. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/fa/faTijp_rKjBEvLHMOJ2DtpixNdcS8LpJgk_kSFfXa7I.cache +0 -1
  193. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/fr/frUgcOzhQ4xG8NrIPsHt5faxwN3DI9pBwpcB4Deo718.cache +0 -1
  194. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/fw/fw2dnM-Zin9ZBBJhNioscKpdlWpopWpm1B26LnqPTSE.cache +0 -1
  195. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/gi/giWii-X-VsDvwePRQMaFtYN2UuGkvXJPNqQy-EvqLwg.cache +0 -0
  196. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/h1/h15PNCXJX_-OPVZKbRaziTUZc1foI06y_uGGyyz6-xM.cache +0 -1
  197. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/h7/h7v7o7cL0fhwaXP--KRjZx-IJquSBMd9adBWyDuIKlc.cache +0 -1
  198. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ha/haHWe08YRGJbggH2CNvz1thlCwwvBo6Kbgv4omHOiek.cache +0 -1
  199. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/hi/HIwfqm8aLEFNNe1kRosjv97hgxdWZtZR4SUmIwPD_L4.cache +0 -1
  200. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/hi/hiFBimGwAOvBF1-JUCilP_clVRrmCczvGqfDDAARsrM.cache +0 -1
  201. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/hr/hr3vgmohlHUPBxg_1SkwssAeKMG4IeMmyHmsdaGxJXo.cache +0 -0
  202. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/hx/hxaDKsXJi-m5nKlmbR1hk4a4Xg2YfFwmrW_TtmS7jlE.cache +0 -0
  203. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/i6/i6MnwGOTb-6wI1QoaMbUG6_si7ex6qJIq-6BD8a0atQ.cache +0 -1
  204. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/iz/iz5m4fAhk3_Gw6yfaa9x8QcCNl_jT5_Bw6exWV0H3WM.cache +0 -1
  205. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/j9/j9NuAbkuchwJ3PaVdDMser7cKwXsMV2UMVxljTHy2BU.cache +0 -1
  206. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/jK/jKCDlDZ12PC1eaEDHptvlwe3Zqo6Oyk6ghh0uIJyDzY.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/jf/jfyB4_hKx91oYrg3Uz8kejw-1HKvL3WNzfXHySfnrjg.cache +0 -1
  208. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/jr/jrhg63vKri996YfYxadgGPKa0s0Z0QeRBvv78nSjZd8.cache +0 -1
  209. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/k2/k230zg3KWZuQ9up5IruYh082tu4CAmgAheZJN-w5_pE.cache +0 -1
  210. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/k9/k9czmo4FEiAIwA9VBgJzkuaEIzFHi4ncQa6QcilA4Hs.cache +0 -1
  211. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/kw/kwNFhW24nxXy_HfVKYdXJyRqhu7ljgl9wR2DcJUo-nA.cache +0 -3
  212. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/l2/l2kRUfGOavyI9m_fh5Po6aCsWqcXA-N1alZsislQsyQ.cache +0 -0
  213. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ld/ld2mFks0UpcjdEcFSZaEyDSV95LmLDYFQTA85BnPk-M.cache +0 -1
  214. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/lo/lop19Wm1uQZfGd6HfEAEdB1zDu5eWXraq_C7CfdepFI.cache +0 -0
  215. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/m7/M74bdzSYi7Dt522cDdBL3cfCik79h5YPNJfBk5Y_KMs.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/m7/m7zZtDfOpfg4A2T8djXPwZ9bzt8QYGlaD7_1BmZ_XYI.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/mi/miiM-1l9QmRQoANAZqPp_6A57T705rj8pky_76LulIY.cache +0 -1
  218. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/n2/N2_K6qzJc5zcpT7Ifc4wlk638Fw6mnEdDJVc0Cwyn14.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/n2/n2gslWMjh8_LZNIou4-Nb_IPASBgDDCIO0WytW-qa6M.cache +0 -1
  220. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/nP/nPH6PJfvmhOKN1Qdlpq2Bt3EC4CtDkakJaxArCJuU3w.cache +0 -0
  221. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ni/niAF-ZHA-7ZG8YIl_0SKlusqTE3nJcvEM-MPxo6-W3E.cache +0 -1
  222. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/oJ/oJKRGhhgBjGeWu2RFyKiAPxUwVjQFrCKKhvwsrPc5ok.cache +0 -0
  223. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/oU/oUcXXxKagL4rpV2nZ9mguSwRZuRJ4amZlMbYJjZ0MNA.cache +0 -1
  224. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  225. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/pr/prQPg8mGVONBTk9Fg0dBPPW0jFaWR2sduO876XIDzwI.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ps/psBBNOAKRh8YioHXsWx2sTo_Nhf1SB1nRF73bYh6szg.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +0 -2
  228. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/py/pyGAJrY1mgvF3JKeIGd7oSFKe34ZIyP04fOnInQI9Pc.cache +0 -0
  229. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/qh/qhcFpLxR_Q-MR3fQHOsfLnsd999iPY3-MULVjw5IyTo.cache +0 -0
  230. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/r8/r8qaOPzDQIIFvksWxSN29Av0XGbhyNqno7uCQaa2rxk.cache +0 -1
  231. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/r9/r9EqVDhnX2xtdKYUJJ9TnrUnvcnVpFqzDp0_X9mRZAs.cache +0 -0
  232. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/rV/rVIqk5blVIvnPB5_UOcU5Kb2jaOoDLVJJP-3cTJ-O58.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/rf/rfLkA5p4BXXJJ74YR8FbQbDV4Bb0WHxNwzsgAp1OLTs.cache +0 -1
  234. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/rn/rnj4ojHPm849EWhYYTjqd8qmY8w1qZwjAPRjt_9pg7k.cache +0 -1
  235. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/rw/rw8M5HjRdOkK11GRvZ9ZVZN_cy6Gic_F1ZMmggsa3o8.cache +0 -0
  236. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/sD/sDAsuJtgLiV-QkQe-cSdXfiUOjOOa0Y26yKETGY4I5Q.cache +0 -1
  237. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/uf/ufhKc2bX_OCnWPA1CIAmeHU8VxWbdA5qUlSdEScnkeY.cache +0 -1
  238. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/uh/uhyjgIntx0ROlUReN-lOokLm-C_h3Qc0Tb55Ng5SNuM.cache +0 -1
  239. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/vn/vn7lYOlRkviVw-Vzcqh_177fD7W0zFVhbqByW5NjiGY.cache +0 -1
  240. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wN/WnG-tLWvfYaiK9GlHONheAINtcktwQW3RGqbY7XjaJk.cache +0 -1
  241. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wN/wNw4kAG0E_RrvLeFAizMmTp_0jh-HGw1ONLtRyw92z0.cache +0 -2
  242. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wX/wXqpuaP5B32TnHsCqCG8T8yFYTeC12ot6B3CZXVwZs4.cache +0 -1
  243. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/xY/xYwuUZks6Apchm69F0RMY1VhCiOkTc0vnd0gdEdujIA.cache +0 -1
  244. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/xe/xe3EifBbex87sLZ6povpqFEf1sT4u0sJ2ytm1c_sioo.cache +0 -0
  245. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/xz/xzt9-xebMB-HhzrGOZ-ybRzxoje_BYreHI6qS4ZdqXk.cache +0 -1
  246. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/yX/yX4FWx00r4Ktdk56ieu0rpZC0oTTAJM5a8D7o9m4Gb4.cache +0 -1
  247. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/z9/z9sop_5Fsj3dppixvAQ6tts4MmhlyxvWiGi_YXnOvxc.cache +0 -0
  248. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/zZ/zZtt48vCgYQCNsRIgT0I7gm6ibVcw21dTHF-Smx_zyo.cache +0 -1
  249. data/test/sample.html +0 -25
  250. data/vendor/assets/javascripts/govuk_date_fields.js +0 -57
  251. data/vendor/assets/stylesheets/_govuk_date_fields.scss +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: bc6ee6a544dc261f821042b455b11199055fe6a364300a2f30f07f6072e1f71a
4
- data.tar.gz: 624b5aefef654f3b700d44ff6b8e94f8f055aecc8ae087a03395fe1d185b5251
2
+ SHA1:
3
+ metadata.gz: a58d898dbbf43b4480489afdb08eea5dffaa3c17
4
+ data.tar.gz: 7437cfcc70f9582217c4d6219afac94d41e577ec
5
5
  SHA512:
6
- metadata.gz: 7b3408fe0bb1e22ed99ba0e8a7861385d4785d8801ea81b97baeacbe60d0eca336f8a364f16b44cd1c0ee4cbf721ee22b79df7f1d84ad17aa2e1cf90e6b7c66a
7
- data.tar.gz: a9fc7b525dc802eaf9a40ee770633680a2e47689f2a12c70fbc08e4d33aa301e6c6435a868dfb99d56dcf7f935550cfa8ec71ca6dde9f10272ed5b276431da79
6
+ metadata.gz: 437910cfb20902de62289b1eb3b7f887b2533233d4152689b7135d616604404e1b04cf8f3f80969d1505d1f78c152df681cc3a01026e376745e20b55908b4333
7
+ data.tar.gz: 86718abcf2de2d67b5da337f43121d83232f5d4c1e99022851b31d2de847f66a4c43342c373c65834c264c3aa9f26d4751a5d32230f7f073e4d28a87fb46d746
@@ -28,12 +28,12 @@ module GovUkDateFields
28
28
  next if self.instance_variable_get("@_#{date_field}".to_sym).valid?
29
29
  case options[:error_clash_behaviour]
30
30
  when :append_gov_uk_date_field_error
31
- errors.add(date_field, "Invalid date")
31
+ errors[date_field] << "Invalid date"
32
32
  when :omit_gov_uk_date_field_error
33
33
  next
34
34
  when :override_with_gov_uk_date_field_error
35
- errors.delete(date_field)
36
- errors.add(date_field, "Invalid date")
35
+ errors[date_field].clear
36
+ errors[date_field] << "Invalid date"
37
37
  end
38
38
  end
39
39
  end
@@ -1,19 +1,15 @@
1
1
  module GovUkDateFields
2
-
3
2
  class FormFields
4
- VALID_OPTIONS = [:legend_text, :legend_class, :form_hint_text, :id, :placeholders, :error_messages, :today_button]
3
+ include ActionView::Context
4
+ include ActionView::Helpers::TagHelper
5
+
6
+ delegate :concat, to: :@output_buffer
5
7
 
6
8
  DATE_SEGMENTS = {
7
9
  day: '_dd',
8
10
  month: '_mm',
9
11
  year: '_yyyy',
10
- }
11
-
12
- DEFAULT_PLACEHOLDERS = {
13
- day: 'DD',
14
- month: 'MM',
15
- year: 'YYYY'
16
- }
12
+ }.freeze
17
13
 
18
14
  def initialize(form, object_name, attribute, options={})
19
15
  @form = form
@@ -24,237 +20,182 @@ module GovUkDateFields
24
20
  @day_value = @object.send("#{@attribute}_dd")&.gsub(/\D/, '')
25
21
  @month_value = @object.send("#{@attribute}_mm")&.gsub(/\D/, '')
26
22
  @year_value = @object.send("#{@attribute}_yyyy")&.gsub(/\D/, '')
27
- @form_hint_text = @options[:form_hint_text] || "For example, 31 3 1980"
28
- @fieldset_required = false
29
- @fieldset_id = @options[:id]
30
- @error_messages = @options[:error_messages]
31
- @hint_id = form_group_hint_id
32
- @today_button = @options[:today_button] || false
33
- parse_options
34
23
  end
35
24
 
36
25
  def raw_output
37
- if fieldset_required?
38
- generate_input_fields
39
- else
40
- generate_old_style_input_fields
41
- end
26
+ generate_input_fields
42
27
  end
43
28
 
44
29
  def output
45
30
  raw_output.html_safe
46
31
  end
47
32
 
48
- private
49
-
50
- def error_for_attr?
51
- error_attribute_names.include?(@attribute) && @object.errors[@attribute].any?
52
- end
33
+ private
53
34
 
54
- def error_attribute_names
55
- if @object.errors.respond_to?(:attribute_names)
56
- @object.errors.attribute_names
57
- else
58
- @object.errors.keys
35
+ def generate_input_fields
36
+ content_tag(:div, class: form_group_classes) do
37
+ content_tag(:fieldset, fieldset_options(@attribute, @options)) do
38
+ concat fieldset_legend(@attribute, @options)
39
+ concat hint(@attribute)
40
+ concat error(@attribute)
41
+ concat input_fields_div
42
+ end
59
43
  end
60
44
  end
61
45
 
62
- def fieldset_required?
63
- @fieldset_required
64
- end
46
+ def generate_input_for(name, value, width: 2)
47
+ css_class = "govuk-input govuk-date-input__input govuk-input--width-#{width}"
48
+ css_class += " govuk-input--error" if error_for_attr?
65
49
 
66
- def generate_old_style_input_fields
67
- %Q[
68
- #{@form.text_field(@attribute, field_options(@day_value, html_id(:day), html_name(:day), placeholder(:day), 2))}
69
- #{@form.text_field(@attribute, field_options(@month_value, html_id(:month), html_name(:month), placeholder(:month), 3))}
70
- #{@form.text_field(@attribute, field_options(@year_value, html_id(:year), html_name(:year), placeholder(:year), 4))}
71
- ]
50
+ content_tag(:div, class: 'govuk-date-input__item') do
51
+ content_tag(:div, class: 'govuk-form-group') do
52
+ %Q|
53
+ <label class="govuk-label govuk-date-input__label" for="#{html_id(name)}">#{localized_label(name)}</label>
54
+ <input class="#{css_class}" id="#{html_id(name)}" name="#{html_name(name)}" value="#{value}" type="number" pattern="[0-9]*">
55
+ |.html_safe
56
+ end
57
+ end
72
58
  end
73
59
 
74
- def generate_start_fieldset
75
- %Q|
76
- #{generate_fieldset_tag}
77
- #{generate_legend_tag}
78
- <span class="form-label-bold">#{@options[:legend_text]}</span>
79
- <span class="form-hint" id="#{@hint_id}">#{@form_hint_text}</span>
80
- #{generate_error_message}
81
- </legend>
82
- <div class="form-date">
83
- |
60
+ def error_for_attr?
61
+ @object.errors.keys.include?(@attribute) && @object.errors[@attribute].any?
84
62
  end
85
63
 
86
- def generate_fieldset_tag
87
- css_class = "form-group gov_uk_date"
88
- css_class += " form-group-error" if error_for_attr?
89
-
90
- result = %Q|
91
- <div class="#{css_class}"|
92
- result += %Q| id="#{form_group_id}"|
93
- result += ">"
94
- result += %Q| <fieldset|
95
- result += ">"
96
- result
64
+ def html_id(date_segment)
65
+ brackets2underscore(html_name(date_segment))
97
66
  end
98
67
 
99
- def generate_end_fieldset
100
- "</div></fieldset></div>"
68
+ def html_name(date_segment)
69
+ "#{@object_name}[#{@attribute}#{DATE_SEGMENTS[date_segment]}]"
101
70
  end
102
71
 
103
- def generate_legend_tag
104
- if @options.key?(:legend_class)
105
- %Q|<legend class="#{@options[:legend_class]}">|
106
- else
107
- "<legend>"
108
- end
72
+ def brackets2underscore(string)
73
+ string.tr('[','_').tr(']', '_').gsub('__', '_').gsub(/_$/, '')
109
74
  end
110
75
 
111
- def generate_error_message
112
- result = ''
113
- if error_for_attr?
114
- result = "<ul>"
115
- if @error_messages.nil?
116
- @error_messages = @object.errors[@attribute]
117
- end
118
- @error_messages.each do |message|
119
- result += %Q|<li><span class="error-message">#{message}</span></li>|
120
- end
121
- result += "</ul>"
122
- end
123
- result
76
+ def attribute_prefix
77
+ brackets2underscore(@object_name.to_s)
124
78
  end
125
79
 
126
- def generate_input_fields
127
- result = generate_start_fieldset
128
- result += generate_today_button if @today_button
129
- result += generate_day_input_field(@day_value) + generate_month_input_field(@month_value) + generate_year_input_field(@year_value)
130
- result += generate_end_fieldset
131
- result
80
+ def form_group_id
81
+ [attribute_prefix, @attribute].join('_')
132
82
  end
133
83
 
134
- def today_button_class
135
- if @today_button.is_a?(Hash) && @today_button.key?(:class)
136
- @today_button[:class]
137
- else
138
- 'button'
139
- end
84
+ def form_group_hint_id
85
+ [form_group_id, 'hint'].join('_')
140
86
  end
141
87
 
142
- def generate_today_button
143
- %Q|<a class="#{today_button_class}" role="button" href="#">Today</a>|
88
+ def form_group_classes
89
+ classes = ['govuk-form-group']
90
+ classes << 'govuk-form-group--error' if error_for_attr?
91
+ classes
144
92
  end
145
93
 
146
- def generate_start_div
147
- %Q|<div class="form-group form-group-day">|
148
- end
94
+ def fieldset_options(attribute, options)
95
+ defaults = { class: 'govuk-fieldset', role: 'group' }
149
96
 
150
- def generate_end_div
151
- %Q|</div>|
152
- end
97
+ aria_ids = []
98
+ aria_ids << id_for(attribute, 'hint') if hint(attribute)
99
+ aria_ids << id_for(attribute, 'error') if error_for_attr?
153
100
 
154
- def generate_day_input_field(day_value)
155
- css_class = "form-control"
156
- css_class += " form-control-error" if error_for_attr?
101
+ # If the array is empty, `#presence` will return nil
102
+ defaults['aria-describedby'] = aria_ids.presence
157
103
 
158
- result = %Q|
159
- <div class="form-group form-group-day">
160
- <label for="#{html_id(:day)}">Day</label>
161
- <input class="#{css_class}" id="#{html_id(:day)}" name="#{html_name(:day)}" type="number" min="0" max="31" aria-describedby="#{@hint_id}" value="#{day_value}">
162
- </div>
163
- |
104
+ merge_attributes(
105
+ options[:fieldset_options],
106
+ default: defaults
107
+ )
164
108
  end
165
109
 
166
- def generate_month_input_field(month_value)
167
- css_class = "form-control"
168
- css_class += " form-control-error" if error_for_attr?
110
+ def fieldset_legend(attribute, options)
111
+ default_attrs = { class: 'govuk-fieldset__legend' }.freeze
112
+ default_opts = { visually_hidden: false, page_heading: true, size: 'xl' }.freeze
169
113
 
170
- result = %Q|
171
- <div class="form-group form-group-month">
172
- <label for="#{html_id(:month)}">Month</label>
173
- <input class="#{css_class}" id="#{html_id(:month)}" name="#{html_name(:month)}" type="number" min="0" max="12" value="#{month_value}">
174
- </div>
175
- |
176
- end
114
+ legend_options = merge_attributes(
115
+ options[:legend_options],
116
+ default: default_attrs
117
+ ).reverse_merge(
118
+ default_opts
119
+ )
177
120
 
178
- def generate_year_input_field(year_value)
179
- css_class = "form-control"
180
- css_class += " form-control-error" if error_for_attr?
121
+ opts = legend_options.extract!(*default_opts.keys)
181
122
 
182
- result = %Q|
183
- <div class="form-group form-group-year">
184
- <label for="#{html_id(:year)}">Year</label>
185
- <input class="#{css_class}" id="#{html_id(:year)}" name="#{html_name(:year)}" type="number" min="0" max="2100" value="#{year_value}">
186
- </div>
187
- |
188
- end
123
+ legend_options[:class] << " govuk-fieldset__legend--#{opts[:size]}"
124
+ legend_options[:class] << " govuk-visually-hidden" if opts[:visually_hidden]
189
125
 
190
- def parse_options
191
- validate_option_keys
192
- if @options.key?(:legend_text) || @options.key?(:id)
193
- @fieldset_required = true
194
- else
195
- if @options.key?(:legend_class) || @options.key?(:form_hint_text)
196
- raise ArgumentError.new("Invalid combination of options: You must specifigy :legend_text if :legend_class or :form_hint_text are specified")
126
+ # The `page_heading` option can be false to disable "Legends as page headings"
127
+ # https://design-system.service.gov.uk/get-started/labels-legends-headings/
128
+ #
129
+ if opts[:page_heading]
130
+ content_tag(:legend, legend_options) do
131
+ content_tag(:h1, fieldset_text(attribute), class: 'govuk-fieldset__heading')
197
132
  end
133
+ else
134
+ content_tag(:legend, fieldset_text(attribute), legend_options)
198
135
  end
199
136
  end
200
137
 
201
- def validate_option_keys
202
- @options.keys.each do |option_key|
203
- unless VALID_OPTIONS.include?(option_key)
204
- raise ArgumentError.new("Invalid option key: #{option_key.inspect}")
205
- end
138
+ def input_fields_div
139
+ content_tag(:div, class: 'govuk-date-input', id: form_group_id) do
140
+ concat generate_input_for(:day, @day_value)
141
+ concat generate_input_for(:month, @month_value)
142
+ concat generate_input_for(:year, @year_value, width: 4)
206
143
  end
207
144
  end
208
145
 
146
+ def hint(attribute)
147
+ return unless hint_text(attribute)
148
+ content_tag(:span, hint_text(attribute), class: 'govuk-hint', id: id_for(attribute, 'hint'))
149
+ end
209
150
 
210
- def placeholder(part)
211
- if @options[:placeholders] == true
212
- DEFAULT_PLACEHOLDERS[part]
213
- else
214
- @options[:placeholders][part] || DEFAULT_PLACEHOLDERS[part] if @options[:placeholders]
215
- end
151
+ def error(attribute)
152
+ return unless error_for_attr?
153
+
154
+ text = error_full_message_for(attribute)
155
+ content_tag(:span, text, class: 'govuk-error-message', id: id_for(attribute, 'error'))
216
156
  end
217
157
 
218
- def html_id(date_segment)
219
- brackets2underscore(html_name(date_segment))
158
+ def id_for(attribute, suffix)
159
+ [attribute_prefix, attribute, suffix].join('_')
220
160
  end
221
161
 
222
- def html_name(date_segment)
223
- "#{@object_name}[#{@attribute}#{DATE_SEGMENTS[date_segment]}]"
162
+ def default_label attribute
163
+ attribute.to_s.split('.').last.humanize.capitalize
224
164
  end
225
165
 
226
- def brackets2underscore(string)
227
- string.tr('[','_').tr(']', '_').gsub('__', '_').gsub(/_$/, '')
166
+ def fieldset_text attribute
167
+ localized 'helpers.fieldset', attribute, default_label(attribute)
228
168
  end
229
169
 
230
- def attribute_prefix
231
- brackets2underscore(@object_name.to_s)
170
+ def hint_text attribute
171
+ localized 'helpers.hint', attribute, ''
232
172
  end
233
173
 
234
- def form_group_id
235
- # If an `id` option was passed, this takes precedence, to ensure backward compatibility
236
- return @fieldset_id if @fieldset_id
174
+ def localized_label attribute
175
+ localized 'helpers.label', attribute, default_label(attribute)
176
+ end
237
177
 
238
- group_id = [attribute_prefix, @attribute]
239
- group_id.unshift('error') if error_for_attr?
240
- group_id.join('_')
178
+ def error_full_message_for attribute
179
+ message = @object.errors.full_messages_for(attribute).first
180
+ message&.sub default_label(attribute), localized_label(attribute)
241
181
  end
242
182
 
243
- def form_group_hint_id
244
- # If an `id` option was passed, this takes precedence, to ensure backward compatibility
245
- return "#{@fieldset_id}-hint" if @fieldset_id
183
+ def localized scope, attribute, default
184
+ key = "#{@object_name}.#{attribute}"
246
185
 
247
- [attribute_prefix, @attribute].join('_') + '-hint'
186
+ # Passes blank String as default because nil is interpreted as no default
187
+ I18n.translate(key, default: '', scope: scope).presence ||
188
+ I18n.translate("#{key}_html", default: default, scope: scope).html_safe.presence
248
189
  end
249
190
 
250
- def field_options(value, id, name, placeholder, size)
251
- {
252
- value: value,
253
- id: id,
254
- name: name,
255
- placeholder: placeholder,
256
- size: size
257
- }
191
+ # Given an attributes hash that could include any number of arbitrary keys, this method
192
+ # ensure we merge one or more 'default' attributes into the hash, creating the keys if
193
+ # don't exist, or merging the defaults if the keys already exists.
194
+ # It supports strings or arrays as values.
195
+ #
196
+ def merge_attributes attributes, default:
197
+ hash = attributes || {}
198
+ hash.merge(default) { |_key, oldval, newval| Array(newval) + Array(oldval) }
258
199
  end
259
200
  end
260
201
  end
@@ -1,4 +1,3 @@
1
1
  module GovUkDateFields
2
- VERSION = "3.2.0"
3
- VERSION_RELEASED = "2021-06-16"
2
+ VERSION = "4.0.0"
4
3
  end
@@ -2,7 +2,7 @@ class MyValidator < ActiveModel::Validator
2
2
  def validate(record)
3
3
  [:dob, :joined].each do |date_field|
4
4
  if record.__send__(date_field).nil?
5
- record.errors.add(date_field, "Can't be blank")
5
+ record.errors[date_field] << "Can't be blank"
6
6
  end
7
7
  end
8
8
  end
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
  <div class="field">
19
19
  <%= f.label :dob %><br>
20
- <%= f.gov_uk_date_field :dob, placeholders: true, today_button: true %>
20
+ <%= f.gov_uk_date_field :dob %>
21
21
  </div>
22
22
  <div class="field">
23
23
  <%= f.label :joined %><br>
@@ -20,4 +20,21 @@
20
20
  # available at http://guides.rubyonrails.org/i18n.html.
21
21
 
22
22
  en:
23
- hello: "Hello world"
23
+ errors:
24
+ format: "%{message}"
25
+ attributes:
26
+ dob:
27
+ blank: Enter the date of birth
28
+
29
+ helpers:
30
+ fieldset:
31
+ employee:
32
+ dob: Date of birth
33
+ label:
34
+ dob:
35
+ day: Day
36
+ month: Month
37
+ year: Year
38
+ hint:
39
+ employee:
40
+ dob: For example, 12 11 2007
@@ -1,86 +1,27 @@
1
- SQL (0.4ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
2
-  (10.8ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
3
-  (2.7ms) CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
1
+ SQL (18.5ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
2
+  (35.5ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
3
+  (2.6ms) CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
4
4
   (0.3ms) SELECT version FROM "schema_migrations"
5
-  (0.5ms) INSERT INTO "schema_migrations" (version) VALUES (20150901103114)
6
-  (2.5ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
7
- ActiveRecord::InternalMetadata Load (0.3ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
5
+  (0.4ms) INSERT INTO "schema_migrations" (version) VALUES (20150901103114)
6
+  (2.4ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
7
+ ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
8
8
   (0.1ms) BEGIN
9
- SQL (0.4ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "development"], ["created_at", "2021-06-14 09:21:54.697853"], ["updated_at", "2021-06-14 09:21:54.697853"]]
9
+ SQL (0.2ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "development"], ["created_at", 2019-02-25 12:13:21 UTC], ["updated_at", 2019-02-25 12:13:21 UTC]]
10
10
   (0.3ms) COMMIT
11
- ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
11
+ ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
12
12
   (0.1ms) BEGIN
13
13
   (0.1ms) COMMIT
14
- SQL (0.4ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
15
-  (5.8ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
16
-  (2.4ms) CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
17
-  (0.3ms) SELECT version FROM "schema_migrations"
18
-  (0.4ms) INSERT INTO "schema_migrations" (version) VALUES (20150901103114)
19
-  (2.2ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
20
- ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
21
-  (0.1ms) BEGIN
22
- SQL (0.4ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "development"], ["created_at", "2021-06-14 09:21:54.749091"], ["updated_at", "2021-06-14 09:21:54.749091"]]
23
-  (11.6ms) COMMIT
24
- ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
25
-  (0.1ms) BEGIN
26
- SQL (0.2ms) UPDATE "ar_internal_metadata" SET "value" = $1, "updated_at" = $2 WHERE "ar_internal_metadata"."key" = $3 [["value", "test"], ["updated_at", "2021-06-14 09:21:54.763376"], ["key", "environment"]]
27
-  (5.9ms) COMMIT
28
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
29
- ActiveRecord::SchemaMigration Load (1.8ms) SELECT "schema_migrations".* FROM "schema_migrations"
30
-  (0.5ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
31
- ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
32
-  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
33
- ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
34
-  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
35
14
  SQL (0.2ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
36
-  (7.4ms) DROP TABLE "employees" CASCADE
37
-  (5.2ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
15
+  (15.3ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
16
+  (2.5ms) CREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)
38
17
   (0.3ms) SELECT version FROM "schema_migrations"
39
- ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
40
-  (0.1ms) BEGIN
41
-  (0.1ms) COMMIT
42
- ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
43
-  (0.1ms) BEGIN
44
-  (0.1ms) COMMIT
45
- SQL (0.3ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
46
-  (21.2ms) DROP TABLE "employees" CASCADE
47
-  (5.6ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
48
-  (0.5ms) SELECT version FROM "schema_migrations"
49
- ActiveRecord::InternalMetadata Load (0.5ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
50
-  (0.1ms) BEGIN
51
- SQL (0.3ms) UPDATE "ar_internal_metadata" SET "value" = $1, "updated_at" = $2 WHERE "ar_internal_metadata"."key" = $3 [["value", "development"], ["updated_at", "2021-06-14 11:18:34.807633"], ["key", "environment"]]
52
-  (0.4ms) COMMIT
53
- ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
18
+  (0.5ms) INSERT INTO "schema_migrations" (version) VALUES (20150901103114)
19
+  (1.9ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
20
+ ActiveRecord::InternalMetadata Load (0.3ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
54
21
   (0.1ms) BEGIN
55
- SQL (0.3ms) UPDATE "ar_internal_metadata" SET "value" = $1, "updated_at" = $2 WHERE "ar_internal_metadata"."key" = $3 [["value", "test"], ["updated_at", "2021-06-14 11:18:34.811308"], ["key", "environment"]]
56
-  (0.4ms) COMMIT
57
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
58
- ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations"
59
-  (0.4ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
60
- ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
61
-  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
62
- ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
63
-  (0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", "environment"]]
64
- SQL (0.3ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
65
-  (3.4ms) DROP TABLE "employees" CASCADE
66
-  (4.9ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
67
-  (0.3ms) SELECT version FROM "schema_migrations"
68
- ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
69
-  (0.2ms) BEGIN
70
-  (0.2ms) COMMIT
71
- ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
72
-  (0.2ms) BEGIN
73
-  (0.1ms) COMMIT
74
- SQL (0.2ms) CREATE EXTENSION IF NOT EXISTS "plpgsql"
75
-  (8.9ms) DROP TABLE "employees" CASCADE
76
-  (9.6ms) CREATE TABLE "employees" ("id" serial primary key, "name" character varying, "dob" date, "joined" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
77
-  (0.4ms) SELECT version FROM "schema_migrations"
78
- ActiveRecord::InternalMetadata Load (0.5ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
79
-  (0.2ms) BEGIN
80
- SQL (0.4ms) UPDATE "ar_internal_metadata" SET "value" = $1, "updated_at" = $2 WHERE "ar_internal_metadata"."key" = $3 [["value", "development"], ["updated_at", "2021-06-14 12:05:00.790414"], ["key", "environment"]]
22
+ SQL (0.2ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "development"], ["created_at", 2019-02-25 12:13:21 UTC], ["updated_at", 2019-02-25 12:13:21 UTC]]
81
23
   (0.3ms) COMMIT
82
- ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
24
+ ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
83
25
   (0.1ms) BEGIN
84
- SQL (0.2ms) UPDATE "ar_internal_metadata" SET "value" = $1, "updated_at" = $2 WHERE "ar_internal_metadata"."key" = $3 [["value", "test"], ["updated_at", "2021-06-14 12:05:00.794352"], ["key", "environment"]]
85
-  (0.4ms) COMMIT
26
+  (0.1ms) COMMIT
86
27
  ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"