ice_cube-select 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +21 -0
  3. data/README.md +134 -0
  4. data/Rakefile +29 -0
  5. data/app/assets/javascripts/ice_cube_select/fr.js +29 -0
  6. data/app/assets/javascripts/ice_cube_select.js +182 -0
  7. data/app/assets/javascripts/ice_cube_select_dialog.js +605 -0
  8. data/app/assets/stylesheets/ice_cube_select.css +297 -0
  9. data/config/locales/en.yml +8 -0
  10. data/config/locales/fr.yml +8 -0
  11. data/config/locales/nl.yml +8 -0
  12. data/gemfiles/Gemfile.rails-8.0 +10 -0
  13. data/lib/helpers/ice_cube_select_helper.rb +119 -0
  14. data/lib/ice_cube/select.rb +1 -0
  15. data/lib/ice_cube_select/engine.rb +18 -0
  16. data/lib/ice_cube_select/version.rb +3 -0
  17. data/lib/ice_cube_select.rb +86 -0
  18. data/lib/middleware/ice_cube_select_middleware.rb +25 -0
  19. data/spec/dummy/Gemfile +4 -0
  20. data/spec/dummy/Gemfile.lock +336 -0
  21. data/spec/dummy/Rakefile +8 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css +2 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  24. data/spec/dummy/app/controllers/samples_controller.rb +10 -0
  25. data/spec/dummy/app/models/sample.rb +19 -0
  26. data/spec/dummy/app/views/layouts/application.html.erb +16 -0
  27. data/spec/dummy/app/views/samples/create.html.erb +4 -0
  28. data/spec/dummy/app/views/samples/index.html.erb +49 -0
  29. data/spec/dummy/bin/importmap +4 -0
  30. data/spec/dummy/bin/rails +4 -0
  31. data/spec/dummy/bin/rake +4 -0
  32. data/spec/dummy/bin/setup +25 -0
  33. data/spec/dummy/config/application.rb +35 -0
  34. data/spec/dummy/config/boot.rb +3 -0
  35. data/spec/dummy/config/environment.rb +5 -0
  36. data/spec/dummy/config/environments/development.rb +56 -0
  37. data/spec/dummy/config/environments/production.rb +76 -0
  38. data/spec/dummy/config/environments/test.rb +50 -0
  39. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  40. data/spec/dummy/config/initializers/assets.rb +12 -0
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +8 -0
  42. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  43. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  44. data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  45. data/spec/dummy/config/initializers/inflections.rb +16 -0
  46. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  47. data/spec/dummy/config/initializers/new_framework_defaults_6_1.rb +67 -0
  48. data/spec/dummy/config/initializers/new_framework_defaults_7_0.rb +117 -0
  49. data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
  50. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  51. data/spec/dummy/config/initializers/session_store.rb +8 -0
  52. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  53. data/spec/dummy/config/locales/en.yml +33 -0
  54. data/spec/dummy/config/routes.rb +4 -0
  55. data/spec/dummy/config/storage.yml +34 -0
  56. data/spec/dummy/config.ru +6 -0
  57. data/spec/dummy/lib/tasks/remove_schema_dump.rake +14 -0
  58. data/spec/dummy/log/development.log +2853 -0
  59. data/spec/dummy/log/test.log +0 -0
  60. data/spec/dummy/public/404.html +26 -0
  61. data/spec/dummy/public/422.html +26 -0
  62. data/spec/dummy/public/500.html +26 -0
  63. data/spec/dummy/public/favicon.ico +0 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/--/--rAmByKtm0MnL8xXXDD62V7GaMXJB41PGYpkcDVC7g.cache +1 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-H/-HoxUZp14yWxlPRfwr8zr4NnyUAIoxc4A0TWoizdCtw.cache +1 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-c/-coqzCZSM-0wxDotkoWOlQabhKGWhh143WHFMK53TJ4.cache +2 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-k/-kCOhoKk1Fu5xtBHgA3f5bR_3UEtRYtRBBbAxnuEAqY.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/00/00X-Dx7XvMmD59y9DbmBX8n8amyi0DnxvZpseW_zuU0.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/19/19AOV6CKatQZK21h_rXMCzB8_zuX8qWwmt56qmrt2G4.cache +1 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1A/1AnErSaPi9_LX0qwRXmRu1_ROnFaxM4IecBFefnVDXU.cache +2 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1i/1iJJTKhmNHZa0O0LpBXVUHwKscaTeHLe2X3YgaHUpMM.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1k/1kliLj9Kd2jSY2EcJYkYfeKaIU7IsdHlYIwXltjJpXw.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/20/20ImWtZR2kdu2W4HagE2cY3iLxhjbrqzjDViGjSj4pU.cache +1 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2E/2EX7iEADWBlei6Q6wKSyJq90KETrVghg8_2ZdQiTkl8.cache +1 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2E/2ExNzABSQbawrVV5L4YfULcZAabuF8fdKAxWlcmiZ9s.cache +1 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2V/2Vej7W4Hs74U5sJ3y19ucsMyXkkqFMBU1jlZBcS8ox8.cache +1 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2b/2bBqXSgVWORK7ud3Xzpx8-wKHCMMMqt4Z_9jNpkpn_I.cache +0 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3I/3IakavgfROEtBiPDnjvxFJPpufCARsM9OFp6Avo4Qpw.cache +0 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3P/3PnmW10YkIfjRCDVHUBti81IRf1zu48H6OXfGGidetE.cache +0 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3j/3jrvubzDyeSYbZ5LpobP0QlL6YtKaIr9pxJAWPvz0QY.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4Z/4ZYjL6BwG-4luPzGbr5tM-bfWDitfi9MIXmYPxSaFbY.cache +1 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5-/5-NZ31xdNVQOUzgVAe25YKeWdAlXNDAm3bCyyA0bEB8.cache +1 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5h/5h0LRd6jysM1bODkNUguQPIiPq_yyyshQWiX2bQo7Dw.cache +1 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5h/5ho4h5pFPW9LbRUoDaOHiJpRM9WoE9r4BiB4x2IpHik.cache +0 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5r/5rpbtDytrYjudaQCIwG-YYVYMWTVr0IzfRa62Zz5q7E.cache +0 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6U/6UnV4bmBnVj9Q2MYBMvN_z9580jGYixHRf-uE14rmBM.cache +1 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6z/6zghnUiyy2JIObJo2QdSyyeW1dNl8S7A_WKUQZiU71I.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7A/7AuGblG3kfw0biDvVJd7h14-GPrSks5Tm_jtJFxLpJU.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7C/7CMRdPP_5RHFOYd0UA0sUc54XQKmdHMVxSF4wICezOI.cache +3 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7G/7GNYo-ooWC0NdNXqwCstEi3K9A4r_2ZnGMB7x9OOA7s.cache +1 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7X/7XlOmVF_-kN_KeAPnDH8KYCUjoh-wME9C1KzIQQp738.cache +3 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8C/8CFoKvJc86Aidx4dFmaWlJjvO4w1BTNvUu9EJR_b2MY.cache +0 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8L/8LcN0hnf9LwU5wTh-cUTI0axF_C3ve1-bHmFA-OS6bc.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8n/8nK17HLAxXcrKXTRPbDh4yo_wsUAbkJeALf3_zNMGNM.cache +0 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8o/8o4S7UljhNV2Z2GyNvih1qSrliFB4oY9txiIP1gPxiE.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9V/9VpuJd_MaYUudt4ZqhxZIAynaw48Q-ENsH4jpizolu0.cache +2 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9m/9mDRpW3sa10mOv8Hborg_OnKaMwoxyKgDQtiJFEbdew.cache +1 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AF/AFMZ8jQk8PF9S0Dya8-Sx0oY3BEgLJEYwiMrsUj3SUs.cache +1 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ad/AdzUPsYCUeyeJM9QDOc55BMiVfPKTj9RjTNptv2fthY.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/B4/B47HHTG0X0oHVtPd8O7l1-WogI9CwR_onS5udO4u02U.cache +2 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BF/BFgv1Q06JYYiWDGgzV1wEFsiARisuKLyyMQ79aM0vww.cache +1 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BK/BKnI-D57Lom3NkMA5Gg0eL975J5GtpwQznyKm62_Ig8.cache +1 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BX/BXpqYQikJhkDIeSunYQM4AOxzeFHhzBGL1HjMQGuOyg.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/By/ByNoD5nl2lLfZdy0StFKfI04h0n2GvebYawt7Pzfx2k.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/C2/C2UCua3N7rS37BDP6CuHQh4N-0EsipLtm4gS0jOTWTs.cache +0 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Cx/Cxg1MzLUOTufOyyAraZ5-lhDoTmJZ0_UR2wP1CAATmQ.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Cx/cXR4PS7r0QhE65tK8kBbSHubGuVGlZnhwnChH4Q5O8M.cache +1 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DO/DOm8UJqQNZ2WSyt9UJXgao467OHzmWMY1WNK6BO8-Cw.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DR/DRmS0YNZkpmdjtGqNaJI5CVUFLzZvp8tMq0M-VlEPns.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Dp/Dp0tuYIHrdk_SzxNULPVoCwUSXCoo0duQz_gP2yCsKU.cache +1 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/E5/E5bSQ0e6WGQAXIGED37jE9854jXP0izuMW-qOBnOJ5w.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/E9/E975xsqzWYLl1fla_STjHkB3_kIcjxWyjYDAAKe39GY.cache +0 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/EN0Ln6CmfYd_aS0QfjeXAF6YnR6KviZkiiujMQny4R8.cache +1 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ER/ERk6Yzv-Nk3zf2DwC31Byh7Hch4uK_2qhJdfKmyUoCw.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Eg/EgkR6bN9owtB1hLTwWmUQR8phmhoT3lbqWRQ0n9-4xY.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F0/F0IzP-ooVgPlRLqw1nTZPbFT93fmWvNLsNW0HSicwiE.cache +0 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F0/F0YaMcusCPsKvUsl6Qrv4E8sHLUOOO85lIKCu6JAxvM.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F6/F6ywfHEq5RIh4l5Csa6TG4WGDaUyiNiVMsE9OMiXvqc.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FG/FG52-VtsSB6Uk5pQzX9Fc0IaUHUZdY6-43F1-6j8zuQ.cache +0 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FH/FHT4wSpWbcJV2vmEmtdO1QVHHOfyXnwvJTaCYZNZGX8.cache +2 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FS/FSkqX8HmkLi0NUTvRqOGdFQc0h5x-NffdpVY5QMyZ3E.cache +0 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ga/GacyHXwq3SMNZA8i9qCG5VnHQK1ohFOL5PvEceVJVXM.cache +1 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Gg/GgYS5qpRC5JBC7lT5WQg1sugrKqeOGWjL1_EJqeQdBE.cache +1 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/H5/H5aYXwLLA6hunjp2ZD3-WV5VecvRIcDfEwGfnHtnKlI.cache +0 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HF/HFoCxeVSBDPGavW78cZ4NRuV6_DcHcGO15vtyFQpsIc.cache +0 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HF/HfwMtjCwm3esZHcIUOxsATdY8YDIwBj0TpCJcZdSRbo.cache +0 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HM/HMVilv2P7QkEfX_XqjY6Vi-HhikAQzAtJ5pOOKBXZ8A.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HP/HPFKy86tI3wqp2v0mLD6sxo7d6OU1Mm3A3HqJZKEEHY.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HW/HW5J4Rr-E5FGCR8_kiIq5eWeeu85iHXycfljRUuGaHE.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HY/HYntTQo8ujQN_iPUCmrZxow3mCeKQiZ9svGhshJMf18.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hv/Hv-sCE5Em5YVBiHFWgptmpGjXv-8PXUUVKml2B4r7jk.cache +2 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hv/HvkyKaQDcuqTxW2OjKH3mgojlqBTUytx5EBEquRtTCU.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/II/IIIk7k5PJTIB8s9xvs5yADHh_R-GjTInWvZyExXMQrg.cache +1 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ih/Ihnlkw3Tfk01su33Dluw8kB_to7SP71G2tmEuj1ewGs.cache +3 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ij/IjD5hEBpHPVLqpBvBOq5xoL7_OLi_jyidEQeDZkH51A.cache +1 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Is/IsKkAZpcet0IgYLP9ot1iuwmrVxgpNCahS2eQICEgpw.cache +0 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JB/JBnoQUvpupRs9ABR-ZC0om41bMO7Ew_7-n9xKqhfPK8.cache +3 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jo/Jo4kA4keuGt7HEgEHyTmsHD6EeZRghqoq-c7mxDFs_k.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jw/Jw99Bfcj2I-8QDAVxuxejfPqQvJMpXI9QhcmTA_fpN8.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jx/JxZK86jYw-hmXkkt4XFinkCXLM76albIzT4YcKNsslg.cache +1 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/K-/K-gLlOoAf1VoJsDSh7EysiST1K12nABer0Bktfo4ILg.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ki/KiP5gu20LeRLp87vzBsu9YZgmM9RDblIVi5h5bSph2I.cache +1 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/LQ/LQJfG2MNHnyXOvsz28VGUCv80Ct7nj8HM_i-cKqjSFg.cache +1 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ls/LsChyuxgjfk5l-ho4B-e93iZ6mHSK3IjvhmZfHFXUTI.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Mn/Mn_GXGiBEOM4BXHo8WoOo5rTCTfKcksaW64banP-7P0.cache +1 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/N7/N7uGCIOmTFR3e5s880xHaOuAwgx8BXXXvUgawWXyvEY.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/N9/N9I9AndWoHI25CuWHQUs3o7tMw3lFwKckkjnbwlOtQk.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/NT/NTNTUrI37iM00TCO7PJY6za3IyZlQvujQQYqHwrxXYE.cache +1 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ng/NGh28TnI8MI4EX0k9Xg5dDKAjE4FJB08_WByjLoCDU4.cache +1 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ng/Ngz36YYa3DqZ1hpWDd25R8i2y7XW6t5SzDsuhn0EVbQ.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OX/OXjxHnKgHLaEpsF_RwpLYLqo5-hdvkGh6oUY6iLnsXY.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/O_/O_JDKIlx6_eN5BPCYmp6D7GkCiNHgwxl31cnRpzo9j0.cache +1 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Oh/OhsTmQH5UXh9lL-r3a5eN9zhBeb3myfNhDKodW0dre4.cache +2 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ou/Our8Abkp4wOx_HnV5wwAdB73DEHm9JMVBPH_oOGDz7I.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/P-/P-cEaKuaX89WINQhpcO1HiOZGqDbnYma0EhsyA02_HA.cache +1 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/P8/P8Mf8CDRiKWckVgwrRzsf7iOqv_YTb2NSB1mk9PGXjM.cache +2 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Pd/Pd9js4FS4IkizfaoEwofmx-u1BuH07fHfo4jRO1s3uo.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Po/Po6QNSUVcwV0hIj5S12kQhKKRUT-Av0D7vv8ZEezzBk.cache +0 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Pz/PzpWq0LzzmiGetCVYTJP2fESglsAjH79oS_N_FmcpEA.cache +0 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/QQ/QQjZEwyt47hcGLBQnd4bxK1RnL6388wlWt_-qRL9QxI.cache +0 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Qx/Qx4wefCS41Nynaeh70sR1oQflaxhIqgqI57YIiZVvhc.cache +1 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RE/REM7Qt1meU-tf1Wwzx9m2Ex8FSNL4Ac4Hh5dUjCpohQ.cache +0 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rb/Rbofto9PCO3Xqo5Kb2bfKxidbBqCea8OvPV7fgZhYqc.cache +0 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rh/RhELObEP6WOgvZRsFG_UOLejgNpEi80uIgg2frnOVGM.cache +0 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rk/RkuFQbKDq4yK0RuxrAAyktPGjclHBNC2rQ8MxWqxhc4.cache +1 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/S1/S11sGtH5-7UHEft-KOEyzTjynx4QxVUCkXYLa6bTvSQ.cache +0 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SA/SAePtLkGMoh0xPlyx3KSVOmY2S2WceTxhNmVPM4Avwk.cache +0 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SJ/SJ37zvjYsOc0W_N121qfBac5Ave5tUIijbKa8ih1JJE.cache +1 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sn/SnoRRhUoQdDi9EbxvaevgfLauCLgLVsheiKsR54Kjfw.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sw/SwyIlWe4mW-S1D1KV1lW2qTNWZwF_-APRUsJvXma0hA.cache +0 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sx/SxMkFQvQYrgxva3so2GOBrxfDH9NvdeDTZeAIKuhsBs.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/TA/TAJETM9mHztCEnd1ZOWzkHeeOUm-LVcyWpzaI3OklUo.cache +1 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tk/Tk3p5H6iRTsufo_OZhbd96jjvk1iIijfJn67gtl8_Rs.cache +4 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tp/TpEhz31Vry4blOsb19xfTmLTrv7z2lOfuzTdE3GAf08.cache +1 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tw/TwXQz2y7XuFI6moY1b7OAfRj0yvQgh8FHWLelbIkpqQ.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/U2/U2uaXPqVIKdXq3WhD4ve0eNnFPR1mLkVw6YRBMpbJMw.cache +0 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Un/Un1S7oFpRfo8iXfpTHfmLfKpuowlu3a7xmoRX9o8o1o.cache +1 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Uv/UvzZcA7VsfUnNXg1faVWZBBwvpDuMwkhFsp8Yty8c5k.cache +0 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VO/VO0NU-0YjMWB518kDQvBAN_TB-f163jCha33D9HXoGI.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/W8/W80hQWjpEvHcvAv8NK2J7OVaGOqetk_9zImXzOL3kKA.cache +1 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/WQ/WQlY1gKet7rqxIa0Tmm-pXMzm9uQKfTC_iN6y0UErQs.cache +0 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XF/XFQ1cyb4geU4-m45TZ6f8O1-6F72xmBPM6L7RAgpmNk.cache +1 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XG/XGKSlgoUO-Ao6SLWO0LBovvDllZF_qlYf6CMxVVP0UA.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XT/XTT3QmjQsOlMF_dFPgMD4V68iD-HDiZZUnKLMjhCHHI.cache +0 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xa/Xa5vmj80u39cbSYwvFp8MP0ZjZPxbhoBXbwtDSwrTj4.cache +1 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xj/XjGC7OdhT2-8iU6mpw1aRSXg5-HUu6lrpAxqK1kPYN8.cache +0 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xl/XlwIbBHvQN1mPdaybMu74nsakLjjptziEiHWZLXrKro.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xl/xlpNYJ-I5t3H-Q-ktfTeNktZKv6lfTzk3C1g6p7FHWs.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xv/Xvs5FwiU3ADexvO0PM5dqsaii2mju3EmTsiTQs1rhGI.cache +2 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xy/Xy_jRQku90hZK8aOJcggEBPFu_2USlHMFYhAAeCVjyo.cache +1 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Y-/Y-56loF4CG0OZHkkSpbGpqs-JQXKnU5qxpUfMu94_dQ.cache +0 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Y4/Y4j86RBxOwUicCjzQOzXGy0qIoq5T-vUA6grPaX7-vA.cache +0 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/YOYHgN_CYZvhn7Bx4JjkkFvHaBGRtjEmdO8dGzpJeo0.cache +0 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/YOgxpoMg5VdlPVutuEBQEYvtxgnWIrDYp2Kd_m_2QCA.cache +1 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/Yo4PIprn8GN72L-Uf7l9Llo1pi--fmh2Pw20qFFYrSM.cache +2 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YY/YYlQ5LzpBHieP1jNUAFLRW78t99PoS6PQZoHLzvAmqQ.cache +1 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Yj/YjHZbRQ4e3rroImtj_1EGCKGdU4d24gCi5kjgJKT0Eo.cache +0 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Z3/Z38TZfN9y2TJJrdYAogo8EKs28avVKmbyCxwshjm8S4.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zc/ZcGWNhggUU9-hpR3Rp6n3lGdLffDUk1-ZHkdrgsI4Fs.cache +8 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zm/ZmAvNaLlj36Yl3dRtL5jXgQb1ROtK6FDQ8UIJvDf-50.cache +0 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zm/zMfeZQV1ZaglFuhJlqfoH5nBqycWIGi4TtdOsBXhiQE.cache +0 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zo/Zo-5NBFdii8PLufO6jPHfksOVBbZgxXwyiIBnX6-arI.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_S/_SDIVNAeJ2JgDNkkZbV-DbL7PF6UxhpIdNmGPIqepj8.cache +0 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_T/_TuZsxsNu8oWeosPWrwp5FFjJMdw3-bR14LuI45gyfI.cache +1 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_e/_eLlScoirmskBHgaco2SBQSRSvidoT0JqA7lwM6z5vo.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_f/_fJObZyqnMEnxYaRROG2kradIRxhFG-d9emrXIrFU2E.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_m/_mVz9daeaggkYCgqZHOUq2rXXwnDVVSgG7TxxuRhl3o.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/a3/a3Wlw8mfSHL3Dkg2rPHq8sfIB5_CWrja7maNwTSlHeY.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aN/aNnagxTBHQBX-Uk5eD3Zs8HVPb39rRYKAWRusog5ZGQ.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ae/aedjSmdfbe95obaMai-ieIh6a_3N91TgaJYjTo7tIZs.cache +3 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bB/BBePVrVgXjj33MChLDgH52MwyAavBoJw5dl8m-xbnbU.cache +1 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bB/bBrzjV__VsMBy7B9FWdu9no2bbDQ3acRrIW2SOfshL0.cache +0 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bL/bLXE5zW1q67OPev2YvwAbhGVJ_SbApqE_Ls58OvrNu4.cache +1 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bN/bNYxhHdkUUL8Y1nuz9_-kyZ_UN6VLeoCzNMW1EVTXXY.cache +1 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c-/c-fmu-AJTAuWWqRYRITv4TvxepuQd5pl9zoW655uOss.cache +2 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c0/c02CYJm8uXV42AjNiiheDJGwvAktcPQpSHOfMdT2O6Y.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c3/c36-ILADjdI0hK-vAafc2slgc5IG0s2L1_iUhB7Nt5k.cache +2 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ca/caudjI4goS55DlSgnZ85x9H_OPROOa_IzcOte5i94Lw.cache +1 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/d8/d8UVHo14387ggWM-ihl2hnCGjrdD7kD1EWmtKoJFhZs.cache +1 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dE/dE-UXNWFaPVOroV1gDYLPr11Aac3uIEV1U2_0DlBChY.cache +1 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dG/dGQHIXD6OxFuKLBgfZng3jhaLt4E2mL4rXbIKIgi-1o.cache +1 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dj/DjDdFr4eUKFW1ELhsrqjNn-1fgWUHaiDP9K8fEzRSTo.cache +0 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dj/dj4jKx8uxTq7bhT8X-o5YE4-MenFUARsxg9p9-aBGn4.cache +1 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/eZ/eZeS8IM2kEkG8Di1hc78lPtrcKgCxBoJF3m93SwSl2o.cache +3 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/eq/eqSiLs66O8JL_zsULRFTvv4UHaCKJfKGXT9SE-ENGTo.cache +1 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ex/exxTGIdEZtv28XRzt5nkLHq-q3ax6zwXM5TYwcLem4Q.cache +0 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f3/f3Vhu9wCLqostdP0O1KvT8rrQICvCHlWDOVcqoLaQaA.cache +2 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f5/f5I8b7-97jbOTGMz6kOh125uhlC71AwPFmfx9An_Yfs.cache +1 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fJ/fJL-23z_wILBwjstvUogxa7XE2gV8euVbemL1A3bN0A.cache +1 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fW/fWu_Jbmw7pCUuw6NM9FHK6dHakwoZlgl1WrLDPjI1Xc.cache +1 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f_/f_92yxHv4NT467Qe_368dBwfsNG0JjOW6ZGNNSN7B-4.cache +0 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fk/fkGFDnQy3ZoizGrxvBeicNKt4gKZq1tbCY98d9J3bu8.cache +1 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fn/fnsUMJ-l4Qq0Mgz90Uwq5iQcO0Jz6FM2aphVdoaj6PQ.cache +0 -0
  234. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fp/fpp4a0aLsdj0GWG6PDEb00tmkbs2HAV_wcCcnFKkdFQ.cache +3 -0
  235. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/g1/g1FOHMzVGFlom-5VB0PL5bMu4w2PcyC0dN6H8iOFTaw.cache +1 -0
  236. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gp/gpk1qbxhyFLe1Ti05iOTnBDoV47K_XwltWsrci25r6E.cache +0 -0
  237. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gx/gxNDUXeSuAAy-u4tltwoYq4NyMqaNFtuB5ekyLW5CZg.cache +1 -0
  238. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hB/hBuH2UD-FyOB6d5tntOeamH_P2DhL5fnZooR9eSxS0U.cache +1 -0
  239. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hC/HCSca_wtgnbQcyCOUzEgY1HA1AiGPSo5O_UlH2OHxVo.cache +3 -0
  240. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hC/hCZpc9fQarc_-WwXwQlBGJdfyf8K0j0oCsD5wwJ87fQ.cache +3 -0
  241. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hH/hH-9z4LbnPE5PvD_Ulfl2n7KLJ2t85eBdm939oK99jg.cache +0 -0
  242. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hj/hjt930_FBM8T4TSqao690Ut9wpyBcyovx50LwBnwfCI.cache +1 -0
  243. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iM/iMnsKhKBVL5ZlU312QbDxKAQxdbWixigrdtm6nkNIpM.cache +1 -0
  244. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ie/ie01ktpzESjQATjWLtmJrU_SqYGTPbXTfk_p1sIkyLE.cache +0 -0
  245. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ik/ik91oPGrzPQ28WVZeMtO9eXMoAn6dIewX4mtG6oE3wk.cache +1 -0
  246. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jD/jDbBgIr3eqwHN2tbK6dfEbBh153VcG8w2gIc00cvUSI.cache +0 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jL/jLgFs9r0he0nwxve_QPSGsMCwD8DN0p2dutPcBEdudk.cache +0 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jR/jRfx5gPnRK0E-bKji2jhWfatCZTkGQLNuAh6tGzN7Xk.cache +0 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/js/jS7F-4ji84iKnL6VccBetACQZ09FDa-jFeJcpbWKZp8.cache +1 -0
  250. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/js/jsLM__rizw2y6oZgK1J92rDoGld6ksh8IC4bZik5StQ.cache +0 -0
  251. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jt/jtsPqVuhIBCkiezypSQiA91Gu9cHxJ9HYIJgyOFzWpI.cache +1 -0
  252. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jz/jzgPDHzDiORAkY9cdIk7iD6aeeMlQFSiK1EZMb5LArk.cache +0 -0
  253. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/k2/k2DnReFaxm2COfOVCliXIWmrQW6SFKrEzK0C4UVmMfw.cache +2 -0
  254. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kT/kT5GPb8H30zL28XXLxEpjiOHbvkDuIXPWGblRef1BQA.cache +2 -0
  255. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kX/kXQi4LdsbeCcGgz0DItW3yQ_CNJBjgRr0_-rUgRAX5Y.cache +0 -0
  256. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kX/kxCCxS0DA1OuBKQZiE2l0OaLlibk52cfWdP8-W62Uew.cache +0 -0
  257. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/l0/l0bpxrry7l99VYb6OSfDAuRHD8b3vScsEM2rKwWbzbg.cache +0 -0
  258. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lE/lEn5gC3LZEbwhSVk6N-pbWaJ-B8-V9Ni94RB0NOcF7s.cache +1 -0
  259. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lG/lG3iHoJOI6LEroFQ0eatdHaC4LMdejPH2WCGx-hj0IM.cache +2 -0
  260. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lH/lHgP5ecRDTRlmWXvJkjL7hXApyVNu9okZwu0qUPVWLY.cache +3 -0
  261. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lM/LmI4-RSp3IzgufIh-m8oOgwQDjOVD3_Pg6uiSwi-ZMA.cache +1 -0
  262. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lM/lMK2-DaB5fyKC0Mx4GC4vZmeh-2U7o19t0u3lf49BJM.cache +0 -0
  263. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lZ/lZbVP0P4nhiaXsNfwakCwfnn7S1KRJFvuTmvNd-hT5Q.cache +1 -0
  264. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/la/laz6UauLx5eH2uAX2-MoTe8LI_w9k3Pc2s0av5zP5Os.cache +0 -0
  265. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mB/mBIInGzzmZtHE9f_MonfEGNoMq6Rt6w7hFaGzK7CY3U.cache +1 -0
  266. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mM/mMNvregKyLKC7sUeixSvPy9QJVIhpQuF9HUHIFA8v5I.cache +0 -0
  267. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mQ/mQrMRifZ6T4NVAvNTigREMDQ2lIs2tBdk_HPBeh5c0E.cache +0 -0
  268. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mi/miMTncRS_QRcUmEjrMCCLHvqpyP3Y3tevYqbGeHNCwY.cache +1 -0
  269. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nP/nP_6hZekGfWlK1BxG3Jpesn0Wg-PlXPQvx4q-oSaUnc.cache +0 -0
  270. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nc/ncvbMM5nXJrd6F1pzx0GyKcFlJsMrhApX7mIGd-Y_C0.cache +3 -0
  271. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oA/oAnMt8rD2Y8KoKS-OlshH3pRIvvjCflKb2WCHTbT2NQ.cache +1 -0
  272. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oJ/oJupiasx8q1af4x7mHMbTup1gJqv5z7OoQJ4L9Ss4KY.cache +0 -0
  273. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oJ/ojRlXNPfTajXI8xb3VK2gQI6y7uLUEYOp_JmuI98Nsk.cache +0 -0
  274. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oY/oYXCW9fFRCuaXxAA0yRPTDT-kwODWS_XFZKsTnOZVww.cache +0 -0
  275. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/od/od4Hn-hIPfcKzoWdAX0i_U9Uvfhbz0pGLNeu-Yy6BeY.cache +1 -0
  276. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pX/PxyzWwsLWJGP5H1hmuPZH1ecFGSer_3lgnMoR8DL1_0.cache +3 -0
  277. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pX/pXatIzIMlyuYQ5ocuRvGOdW5SUer7V9bmUchsJSTmOw.cache +1 -0
  278. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pa/panfaQzZeA3AGdf_J9-Bt-ojz0Ag0wZLM7zWyFxcN-8.cache +1 -0
  279. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pn/pnkosyuIYxWPtFEhs3pZwDW14neSEZ8dpDZenAQEWCU.cache +0 -0
  280. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qF/qFeHFyL9X1q52qcX5G3kWdyfIvGSAxa94G5-X3zKJUw.cache +0 -0
  281. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r4/r4RLCA2JH9MDKvTuYkWxANEAgkBtBkzL1xfLYb2bdWY.cache +0 -0
  282. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/s7/s7WY0ri3ThG-7kmTez9gaezuyzIHtDnCQsyyyVaAI1Y.cache +3 -0
  283. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sH/sHwc0BgUVQF-beOHCqO1HfAgQLZZvrDCgqRhlcqkAIY.cache +1 -0
  284. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYHbJlpT7n7snUMZPsqzsD7SVxtO_TSyQ2ozNXpzvlE.cache +0 -0
  285. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/t-/t-RQAyny112Yh75r-KP8uJpuzS5EaSUCOkxaII8hCdQ.cache +0 -0
  286. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/t6/t6f70gfkYYgqo61jqkAEsqjVugK7FNe4uaMLVutlfdo.cache +1 -0
  287. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tE/tEwbQxrUFzGwUKGtwW2YwXMdEewqp5mexvCrPp3AyMg.cache +1 -0
  288. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tx/txGVXlv6uBNHc06d-ej1FrGSSQSzLXTMmuw5M1QkPTM.cache +1 -0
  289. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/uA/uA1tfNsvpEfJssTEQgl1EAfSoug4zHSuBBFeG70UPvU.cache +1 -0
  290. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ue/ueCpC7IbEUV9n26Ai5S0JkBvrThWhC-QECDjXZ52I30.cache +0 -0
  291. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/us/us3xxjCK4Ovczw49X1Mosyyo_fXkNcPZB5ZthtYOBj4.cache +0 -0
  292. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vE/vEqA11YY0Pn0C0Ims0FY0t4THzZHwAODRT46yLLRQEA.cache +0 -0
  293. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wM/wMledL4ttQiAHUdjtbGPhPWrFsJcADMCeqYeQLQVQ50.cache +0 -0
  294. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wf/wf4nZLiUKwZPi5bAkP8uOMlsezO8FvmeJQlvNcFnUSc.cache +2 -0
  295. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wt/wtsfbgVHG5HnQeSccq2bvve7RsTjfx33hOx_4lcEau4.cache +1 -0
  296. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xE/xEKXI_k6To35TyFYx7_CHpLXMBN9u1yvL7XbBGSCMzo.cache +1 -0
  297. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xW/xWTKryjn-5sOpmPF4zrGDd-ThrSCEQuLXAShhkbIFFY.cache +0 -0
  298. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xZ/xZ1IbV-YWC-jHrkzCffY4GvD19oIfe753l7dzD3IYew.cache +1 -0
  299. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xo/xolz1HzMb_2_lfkmvbaT8_QWgxaJqQ5w1OtPZWqKHiA.cache +0 -0
  300. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xr/xrxYZJuo9pgxXDbGXmtOWUlzq9jYWuLOsTuFS2ktVlo.cache +1 -0
  301. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y1/y1cAP8pJ30_K5pLPPRJhDnXgB7ggVZ6RFgg_kanmG0A.cache +2 -0
  302. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yT/YTz62lYcOj7f7nmZ-Z_jpl5wOhkaWZp99r0tQxT6SVY.cache +1 -0
  303. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yT/yTdpyb-v7EzirDsmEwwm0GdagRBPzWl4V5wTe4irItA.cache +1 -0
  304. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zU/zUK2_euW_9gw2XdaZ6kpwsCEP-RGLn4V52h0Y4eEbys.cache +1 -0
  305. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zY/zYCYsTXX3QYnqE-YOMjmjL1wo5MujSkR4CeStEjablU.cache +2 -0
  306. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zs/zsaNhb7gDFFpZzrSu8n9zLQu6ZPD3DfWc1_7m9NtMOs.cache +1 -0
  307. data/spec/dummy/tmp/development_secret.txt +1 -0
  308. data/spec/dummy/tmp/local_secret.txt +1 -0
  309. data/spec/lib/helpers/ice_cube_select_helper_spec.rb +60 -0
  310. data/spec/lib/ice_cube_select_spec.rb +50 -0
  311. data/spec/spec_helper.rb +9 -0
  312. metadata +675 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7307194cfd205d851b5fa951ee356597da543c67fffe1b62ea4ba609f1fc9a24
4
+ data.tar.gz: db53be2302254f4b4016c7d004063265fdfc331f5ff055bf294bf0ee4be15ff9
5
+ SHA512:
6
+ metadata.gz: e10a7e0c9b65df2aa92f954903c23202ade9a834c6033fe26f6e65faacbbc02ed23c6cd0835a77c3f94d3b19457203ff962b1a26e2abe702a2621d43be35c4d1
7
+ data.tar.gz: c7d32aa185693e9577e46254b92a4d094fe10712a11f89c560c979bda0f91edbf0ece478af7942ef07b59861aa760d8787399e392b1d8716635fcad0cd9002c4
data/MIT-LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ Copyright 2022 Saturn Flyer
2
+ Copyright 2013 Jobber (OctopusApp Inc)
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # Ice Cube Select
2
+
3
+ [![Code Climate](https://codeclimate.com/github/saturnflyer/ice_cube_select.png)](https://codeclimate.com/github/saturnflyer/ice_cube_select)
4
+
5
+ This gem adds selectors and helpers for working with recurring schedules in a Rails app. It uses [ice_cube](https://github.com/seejohnrun/ice_cube) recurring scheduling gem.
6
+
7
+ Check out the [live demo](http://ice-cube-select-demo.herokuapp.com/) (code in [spec/dummy](https://github.com/saturnflyer/ice_cube_select/tree/master/spec/dummy) folder)
8
+
9
+ ## Requirements
10
+
11
+ - Ruby 3.3+
12
+ - Rails 8.0+
13
+ - [ice_cube](https://github.com/seejohnrun/ice_cube) 0.16+
14
+
15
+ No jQuery or other JavaScript framework dependencies. Uses vanilla JavaScript.
16
+
17
+ ## Usage
18
+
19
+ Add the gem to your Gemfile:
20
+
21
+ ```ruby
22
+ gem 'ice_cube-select'
23
+ ```
24
+
25
+ ### Assets
26
+
27
+ Include the stylesheet and JavaScript in your layout:
28
+
29
+ ```erb
30
+ <%= stylesheet_link_tag "ice_cube_select" %>
31
+ <%= javascript_include_tag "ice_cube_select" %>
32
+ <%= javascript_include_tag "ice_cube_select_dialog" %>
33
+ ```
34
+
35
+ Works with Propshaft (Rails 8 default) out of the box.
36
+
37
+ ### Form Helper
38
+
39
+ In the form view call the helper:
40
+
41
+ ```erb
42
+ <%= f.select_recurring :recurring_rule_column %>
43
+ ```
44
+
45
+ #### Options
46
+
47
+ ```ruby
48
+ f.select_recurring :current_existing_rule, [
49
+ IceCube::Rule.weekly.day(:monday, :wednesday, :friday),
50
+ IceCube::Rule.monthly.day_of_month(-1)
51
+ ]
52
+ ```
53
+
54
+ Use :allow_blank for a "not recurring" option:
55
+
56
+ ```ruby
57
+ f.select_recurring :current_existing_rule, nil, :allow_blank => true
58
+ ```
59
+
60
+
61
+ ### Additional Helpers
62
+
63
+ Ice Cube Select also comes with helpers for parsing the
64
+ parameters when they hit your application.
65
+
66
+ You can send the column into the `is_valid_rule?` method to check the
67
+ validity of the input.
68
+
69
+ ```ruby
70
+ IceCubeSelect.is_valid_rule?(possible_rule)
71
+ ```
72
+
73
+ There is also a `dirty_hash_to_rule` method for sanitizing the inputs
74
+ for IceCube. This is sometimes needed if you're receiving strings, fixed
75
+ numbers, strings vs symbols, etc.
76
+
77
+ ```ruby
78
+ IceCubeSelect.dirty_hash_to_rule(params)
79
+ ```
80
+
81
+ ### I18n
82
+
83
+ Ice Cube Select is I18n aware.
84
+
85
+ You can create a locale file like this:
86
+
87
+ ```yaml
88
+ en:
89
+ ice_cube_select:
90
+ not_recurring: "- not recurring -"
91
+ change_schedule: "Change schedule..."
92
+ set_schedule: "Set schedule..."
93
+ new_custom_schedule: "New custom schedule..."
94
+ custom_schedule: "Custom schedule..."
95
+ or: or
96
+ ```
97
+
98
+ For JavaScript translations, include the locale file after the main scripts. French and English are supported:
99
+
100
+ ```erb
101
+ <%= javascript_include_tag "ice_cube_select/fr" %>
102
+ ```
103
+
104
+ ## Testing and Development
105
+
106
+ Start the dummy server for clicking around the interface:
107
+
108
+ ```console
109
+ cd spec/dummy
110
+ rails s
111
+ ```
112
+
113
+ Run specs with:
114
+
115
+ ```console
116
+ bundle exec rspec
117
+ ```
118
+
119
+ Feel free to open issues or send pull requests.
120
+
121
+ This project is managed with [Reissue](https://github.com/SOFware/reissue).
122
+
123
+ To release a new version, make your changes and be sure to update the CHANGELOG.md.
124
+
125
+ To release a new version:
126
+
127
+ bundle exec rake build:checksum
128
+ bundle exec rake release
129
+
130
+ ## Licensing
131
+
132
+ This project rocks and uses MIT-LICENSE.
133
+
134
+ Based on https://github.com/GetJobber/recurring_select
data/Rakefile ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env rake
2
+ require 'rubygems'
3
+ require 'bundler/setup'
4
+
5
+ require 'rspec/core/rake_task'
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task :default => :spec
8
+
9
+ require 'rubygems/package_task'
10
+ Bundler::GemHelper.install_tasks
11
+
12
+ require 'rdoc/task'
13
+ RDoc::Task.new(:rdoc) do |rdoc|
14
+ rdoc.rdoc_dir = 'rdoc'
15
+ rdoc.title = 'IceCubeSelect'
16
+ rdoc.options << '--line-numbers'
17
+ rdoc.rdoc_files.include('README.rdoc')
18
+ rdoc.rdoc_files.include('lib/**/*.rb')
19
+ end
20
+
21
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
22
+ load 'rails/tasks/engine.rake'
23
+
24
+ require "reissue/gem"
25
+
26
+ Reissue::Task.create :reissue do |task|
27
+ task.version_file = "lib/ice_cube_select/version.rb"
28
+ task.fragment = :git
29
+ end
@@ -0,0 +1,29 @@
1
+ // French translations for IceCubeSelect
2
+ (function() {
3
+ 'use strict';
4
+
5
+ IceCubeSelect.texts = {
6
+ locale_iso_code: 'fr',
7
+ repeat: 'Récurrence',
8
+ last_day: 'Dernier jour',
9
+ frequency: 'Fréquence',
10
+ daily: 'Tous les jours',
11
+ weekly: 'Toutes les semaines',
12
+ monthly: 'Tous les mois',
13
+ yearly: 'Tous les ans',
14
+ every: 'Tous les',
15
+ days: 'jour(s)',
16
+ weeks_on: 'semaine(s) le',
17
+ months: 'mois',
18
+ years: 'année(s)',
19
+ cancel: 'Annuler',
20
+ day_of_month: 'Jour du mois',
21
+ day_of_week: 'Jour de la semaine',
22
+ ok: 'OK',
23
+ summary: 'Résumé',
24
+ first_day_of_week: 1,
25
+ days_first_letter: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
26
+ order: ['1er', '2ème', '3ème', '4ème', '5ème', 'Dernier'],
27
+ show_week: [true, true, true, true, false, false]
28
+ };
29
+ })();
@@ -0,0 +1,182 @@
1
+ // IceCubeSelect - Vanilla JS implementation
2
+ // Replaces the jQuery plugin version
3
+
4
+ (function() {
5
+ 'use strict';
6
+
7
+ class IceCubeSelect {
8
+ constructor(element) {
9
+ this.element = element;
10
+ this.bindEvents();
11
+ }
12
+
13
+ bindEvents() {
14
+ this.element.addEventListener('focus', () => this.setInitialValues());
15
+ this.element.addEventListener('change', () => this.changed());
16
+ }
17
+
18
+ setInitialValues() {
19
+ this.element.dataset.initialValueHash = this.element.value;
20
+ const selectedOption = this.element.options[this.element.selectedIndex];
21
+ this.element.dataset.initialValueStr = selectedOption ? selectedOption.text : '';
22
+ }
23
+
24
+ changed() {
25
+ if (this.element.value === 'custom') {
26
+ this.openCustom();
27
+ IceCubeSelect.setModalTabbing();
28
+ } else {
29
+ this.setInitialValues();
30
+ }
31
+ }
32
+
33
+ openCustom() {
34
+ this.element.dataset.recurringSelectActive = 'true';
35
+ new IceCubeSelectDialog(this.element);
36
+ this.element.blur();
37
+ }
38
+
39
+ save(newRule) {
40
+ // Remove existing custom options
41
+ const customOptions = this.element.querySelectorAll('option[data-custom]');
42
+ customOptions.forEach(opt => opt.remove());
43
+
44
+ const newJsonVal = JSON.stringify(newRule.hash);
45
+
46
+ // Check if this value already exists
47
+ const existingValues = Array.from(this.element.options).map(opt => opt.value);
48
+ if (!existingValues.includes(newJsonVal)) {
49
+ this.insertOption(newRule.str, newJsonVal);
50
+ }
51
+
52
+ this.element.value = newJsonVal;
53
+ this.setInitialValues();
54
+ this.element.dispatchEvent(new CustomEvent('ice_cube_select:save'));
55
+ }
56
+
57
+ currentRule() {
58
+ const hashValue = this.element.dataset.initialValueHash;
59
+ return {
60
+ str: this.element.dataset.initialValueStr,
61
+ hash: hashValue ? JSON.parse(hashValue) : null
62
+ };
63
+ }
64
+
65
+ cancel() {
66
+ this.element.value = this.element.dataset.initialValueHash;
67
+ this.element.dataset.recurringSelectActive = 'false';
68
+ this.element.dispatchEvent(new CustomEvent('ice_cube_select:cancel'));
69
+ }
70
+
71
+ insertOption(newRuleStr, newRuleJson) {
72
+ // Find the separator (last disabled option, or last option)
73
+ let separator = this.element.querySelector('option:disabled:last-of-type');
74
+ if (!separator) {
75
+ const options = this.element.querySelectorAll('option');
76
+ separator = options[options.length - 1];
77
+ }
78
+
79
+ const newOption = document.createElement('option');
80
+ newOption.dataset.custom = 'true';
81
+
82
+ if (!newRuleStr.endsWith('*')) {
83
+ newRuleStr += '*';
84
+ }
85
+ newOption.textContent = newRuleStr;
86
+ newOption.value = newRuleJson;
87
+
88
+ separator.parentNode.insertBefore(newOption, separator);
89
+ }
90
+
91
+ static setModalTabbing() {
92
+ const modal = document.getElementById('ice_cube_select_modal');
93
+ if (!modal) return;
94
+
95
+ const tabbables = modal.querySelectorAll(
96
+ 'a[href], button, textarea, input, select, [tabindex]:not([tabindex="-1"])'
97
+ );
98
+ if (tabbables.length === 0) return;
99
+
100
+ const firstTabbable = tabbables[0];
101
+ const lastTabbable = tabbables[tabbables.length - 1];
102
+
103
+ modal.addEventListener('keydown', function(e) {
104
+ if (e.key !== 'Tab') return;
105
+
106
+ if (e.shiftKey && document.activeElement === firstTabbable) {
107
+ e.preventDefault();
108
+ lastTabbable.focus();
109
+ } else if (!e.shiftKey && document.activeElement === lastTabbable) {
110
+ e.preventDefault();
111
+ firstTabbable.focus();
112
+ }
113
+ });
114
+ }
115
+
116
+ // Get instance from element
117
+ static getInstance(element) {
118
+ return element._iceCubeSelect;
119
+ }
120
+
121
+ // Initialize or get instance
122
+ static getOrCreate(element) {
123
+ if (!element._iceCubeSelect) {
124
+ element._iceCubeSelect = new IceCubeSelect(element);
125
+ }
126
+ return element._iceCubeSelect;
127
+ }
128
+ }
129
+
130
+ // Static configuration
131
+ IceCubeSelect.options = {
132
+ monthly: {
133
+ show_week: [true, true, true, true, false, false]
134
+ }
135
+ };
136
+
137
+ IceCubeSelect.texts = {
138
+ locale_iso_code: 'en',
139
+ repeat: 'Repeat',
140
+ last_day: 'Last Day',
141
+ frequency: 'Frequency',
142
+ daily: 'Daily',
143
+ weekly: 'Weekly',
144
+ monthly: 'Monthly',
145
+ yearly: 'Yearly',
146
+ every: 'Every',
147
+ days: 'day(s)',
148
+ weeks_on: 'week(s) on',
149
+ months: 'month(s)',
150
+ years: 'year(s)',
151
+ day_of_month: 'Day of month',
152
+ day_of_week: 'Day of week',
153
+ cancel: 'Cancel',
154
+ ok: 'OK',
155
+ summary: 'Summary',
156
+ first_day_of_week: 0,
157
+ days_first_letter: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
158
+ order: ['1st', '2nd', '3rd', '4th', '5th', 'Last'],
159
+ show_week: [true, true, true, true, false, false]
160
+ };
161
+
162
+ // Auto-initialize on DOM ready and handle dynamically added elements
163
+ function initializeAll() {
164
+ document.querySelectorAll('.ice_cube_select').forEach(el => {
165
+ IceCubeSelect.getOrCreate(el);
166
+ });
167
+ }
168
+
169
+ // Initialize on DOMContentLoaded
170
+ if (document.readyState === 'loading') {
171
+ document.addEventListener('DOMContentLoaded', initializeAll);
172
+ } else {
173
+ initializeAll();
174
+ }
175
+
176
+ // Also handle Turbo/Turbolinks page changes
177
+ document.addEventListener('turbo:load', initializeAll);
178
+ document.addEventListener('turbolinks:load', initializeAll);
179
+
180
+ // Expose globally
181
+ window.IceCubeSelect = IceCubeSelect;
182
+ })();