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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +21 -0
- data/README.md +134 -0
- data/Rakefile +29 -0
- data/app/assets/javascripts/ice_cube_select/fr.js +29 -0
- data/app/assets/javascripts/ice_cube_select.js +182 -0
- data/app/assets/javascripts/ice_cube_select_dialog.js +605 -0
- data/app/assets/stylesheets/ice_cube_select.css +297 -0
- data/config/locales/en.yml +8 -0
- data/config/locales/fr.yml +8 -0
- data/config/locales/nl.yml +8 -0
- data/gemfiles/Gemfile.rails-8.0 +10 -0
- data/lib/helpers/ice_cube_select_helper.rb +119 -0
- data/lib/ice_cube/select.rb +1 -0
- data/lib/ice_cube_select/engine.rb +18 -0
- data/lib/ice_cube_select/version.rb +3 -0
- data/lib/ice_cube_select.rb +86 -0
- data/lib/middleware/ice_cube_select_middleware.rb +25 -0
- data/spec/dummy/Gemfile +4 -0
- data/spec/dummy/Gemfile.lock +336 -0
- data/spec/dummy/Rakefile +8 -0
- data/spec/dummy/app/assets/stylesheets/application.css +2 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/samples_controller.rb +10 -0
- data/spec/dummy/app/models/sample.rb +19 -0
- data/spec/dummy/app/views/layouts/application.html.erb +16 -0
- data/spec/dummy/app/views/samples/create.html.erb +4 -0
- data/spec/dummy/app/views/samples/index.html.erb +49 -0
- data/spec/dummy/bin/importmap +4 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +25 -0
- data/spec/dummy/config/application.rb +35 -0
- data/spec/dummy/config/boot.rb +3 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +56 -0
- data/spec/dummy/config/environments/production.rb +76 -0
- data/spec/dummy/config/environments/test.rb +50 -0
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +12 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +8 -0
- data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/new_framework_defaults_6_1.rb +67 -0
- data/spec/dummy/config/initializers/new_framework_defaults_7_0.rb +117 -0
- data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +33 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/storage.yml +34 -0
- data/spec/dummy/config.ru +6 -0
- data/spec/dummy/lib/tasks/remove_schema_dump.rake +14 -0
- data/spec/dummy/log/development.log +2853 -0
- data/spec/dummy/log/test.log +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/--/--rAmByKtm0MnL8xXXDD62V7GaMXJB41PGYpkcDVC7g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-H/-HoxUZp14yWxlPRfwr8zr4NnyUAIoxc4A0TWoizdCtw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-c/-coqzCZSM-0wxDotkoWOlQabhKGWhh143WHFMK53TJ4.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-k/-kCOhoKk1Fu5xtBHgA3f5bR_3UEtRYtRBBbAxnuEAqY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/00/00X-Dx7XvMmD59y9DbmBX8n8amyi0DnxvZpseW_zuU0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/19/19AOV6CKatQZK21h_rXMCzB8_zuX8qWwmt56qmrt2G4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1A/1AnErSaPi9_LX0qwRXmRu1_ROnFaxM4IecBFefnVDXU.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1i/1iJJTKhmNHZa0O0LpBXVUHwKscaTeHLe2X3YgaHUpMM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1k/1kliLj9Kd2jSY2EcJYkYfeKaIU7IsdHlYIwXltjJpXw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/20/20ImWtZR2kdu2W4HagE2cY3iLxhjbrqzjDViGjSj4pU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2E/2EX7iEADWBlei6Q6wKSyJq90KETrVghg8_2ZdQiTkl8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2E/2ExNzABSQbawrVV5L4YfULcZAabuF8fdKAxWlcmiZ9s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2V/2Vej7W4Hs74U5sJ3y19ucsMyXkkqFMBU1jlZBcS8ox8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2b/2bBqXSgVWORK7ud3Xzpx8-wKHCMMMqt4Z_9jNpkpn_I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3I/3IakavgfROEtBiPDnjvxFJPpufCARsM9OFp6Avo4Qpw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3P/3PnmW10YkIfjRCDVHUBti81IRf1zu48H6OXfGGidetE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3j/3jrvubzDyeSYbZ5LpobP0QlL6YtKaIr9pxJAWPvz0QY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4Z/4ZYjL6BwG-4luPzGbr5tM-bfWDitfi9MIXmYPxSaFbY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5-/5-NZ31xdNVQOUzgVAe25YKeWdAlXNDAm3bCyyA0bEB8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5h/5h0LRd6jysM1bODkNUguQPIiPq_yyyshQWiX2bQo7Dw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5h/5ho4h5pFPW9LbRUoDaOHiJpRM9WoE9r4BiB4x2IpHik.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5r/5rpbtDytrYjudaQCIwG-YYVYMWTVr0IzfRa62Zz5q7E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6U/6UnV4bmBnVj9Q2MYBMvN_z9580jGYixHRf-uE14rmBM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6z/6zghnUiyy2JIObJo2QdSyyeW1dNl8S7A_WKUQZiU71I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7A/7AuGblG3kfw0biDvVJd7h14-GPrSks5Tm_jtJFxLpJU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7C/7CMRdPP_5RHFOYd0UA0sUc54XQKmdHMVxSF4wICezOI.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7G/7GNYo-ooWC0NdNXqwCstEi3K9A4r_2ZnGMB7x9OOA7s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7X/7XlOmVF_-kN_KeAPnDH8KYCUjoh-wME9C1KzIQQp738.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8C/8CFoKvJc86Aidx4dFmaWlJjvO4w1BTNvUu9EJR_b2MY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8L/8LcN0hnf9LwU5wTh-cUTI0axF_C3ve1-bHmFA-OS6bc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8n/8nK17HLAxXcrKXTRPbDh4yo_wsUAbkJeALf3_zNMGNM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8o/8o4S7UljhNV2Z2GyNvih1qSrliFB4oY9txiIP1gPxiE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9V/9VpuJd_MaYUudt4ZqhxZIAynaw48Q-ENsH4jpizolu0.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9m/9mDRpW3sa10mOv8Hborg_OnKaMwoxyKgDQtiJFEbdew.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AF/AFMZ8jQk8PF9S0Dya8-Sx0oY3BEgLJEYwiMrsUj3SUs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ad/AdzUPsYCUeyeJM9QDOc55BMiVfPKTj9RjTNptv2fthY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/B4/B47HHTG0X0oHVtPd8O7l1-WogI9CwR_onS5udO4u02U.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BF/BFgv1Q06JYYiWDGgzV1wEFsiARisuKLyyMQ79aM0vww.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BK/BKnI-D57Lom3NkMA5Gg0eL975J5GtpwQznyKm62_Ig8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BX/BXpqYQikJhkDIeSunYQM4AOxzeFHhzBGL1HjMQGuOyg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/By/ByNoD5nl2lLfZdy0StFKfI04h0n2GvebYawt7Pzfx2k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/C2/C2UCua3N7rS37BDP6CuHQh4N-0EsipLtm4gS0jOTWTs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Cx/Cxg1MzLUOTufOyyAraZ5-lhDoTmJZ0_UR2wP1CAATmQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Cx/cXR4PS7r0QhE65tK8kBbSHubGuVGlZnhwnChH4Q5O8M.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DO/DOm8UJqQNZ2WSyt9UJXgao467OHzmWMY1WNK6BO8-Cw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DR/DRmS0YNZkpmdjtGqNaJI5CVUFLzZvp8tMq0M-VlEPns.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Dp/Dp0tuYIHrdk_SzxNULPVoCwUSXCoo0duQz_gP2yCsKU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/E5/E5bSQ0e6WGQAXIGED37jE9854jXP0izuMW-qOBnOJ5w.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/E9/E975xsqzWYLl1fla_STjHkB3_kIcjxWyjYDAAKe39GY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/EN0Ln6CmfYd_aS0QfjeXAF6YnR6KviZkiiujMQny4R8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ER/ERk6Yzv-Nk3zf2DwC31Byh7Hch4uK_2qhJdfKmyUoCw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Eg/EgkR6bN9owtB1hLTwWmUQR8phmhoT3lbqWRQ0n9-4xY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F0/F0IzP-ooVgPlRLqw1nTZPbFT93fmWvNLsNW0HSicwiE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F0/F0YaMcusCPsKvUsl6Qrv4E8sHLUOOO85lIKCu6JAxvM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/F6/F6ywfHEq5RIh4l5Csa6TG4WGDaUyiNiVMsE9OMiXvqc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FG/FG52-VtsSB6Uk5pQzX9Fc0IaUHUZdY6-43F1-6j8zuQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FH/FHT4wSpWbcJV2vmEmtdO1QVHHOfyXnwvJTaCYZNZGX8.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/FS/FSkqX8HmkLi0NUTvRqOGdFQc0h5x-NffdpVY5QMyZ3E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ga/GacyHXwq3SMNZA8i9qCG5VnHQK1ohFOL5PvEceVJVXM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Gg/GgYS5qpRC5JBC7lT5WQg1sugrKqeOGWjL1_EJqeQdBE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/H5/H5aYXwLLA6hunjp2ZD3-WV5VecvRIcDfEwGfnHtnKlI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HF/HFoCxeVSBDPGavW78cZ4NRuV6_DcHcGO15vtyFQpsIc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HF/HfwMtjCwm3esZHcIUOxsATdY8YDIwBj0TpCJcZdSRbo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HM/HMVilv2P7QkEfX_XqjY6Vi-HhikAQzAtJ5pOOKBXZ8A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HP/HPFKy86tI3wqp2v0mLD6sxo7d6OU1Mm3A3HqJZKEEHY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HW/HW5J4Rr-E5FGCR8_kiIq5eWeeu85iHXycfljRUuGaHE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HY/HYntTQo8ujQN_iPUCmrZxow3mCeKQiZ9svGhshJMf18.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hv/Hv-sCE5Em5YVBiHFWgptmpGjXv-8PXUUVKml2B4r7jk.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hv/HvkyKaQDcuqTxW2OjKH3mgojlqBTUytx5EBEquRtTCU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/II/IIIk7k5PJTIB8s9xvs5yADHh_R-GjTInWvZyExXMQrg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ih/Ihnlkw3Tfk01su33Dluw8kB_to7SP71G2tmEuj1ewGs.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ij/IjD5hEBpHPVLqpBvBOq5xoL7_OLi_jyidEQeDZkH51A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Is/IsKkAZpcet0IgYLP9ot1iuwmrVxgpNCahS2eQICEgpw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JB/JBnoQUvpupRs9ABR-ZC0om41bMO7Ew_7-n9xKqhfPK8.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jo/Jo4kA4keuGt7HEgEHyTmsHD6EeZRghqoq-c7mxDFs_k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jw/Jw99Bfcj2I-8QDAVxuxejfPqQvJMpXI9QhcmTA_fpN8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jx/JxZK86jYw-hmXkkt4XFinkCXLM76albIzT4YcKNsslg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/K-/K-gLlOoAf1VoJsDSh7EysiST1K12nABer0Bktfo4ILg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ki/KiP5gu20LeRLp87vzBsu9YZgmM9RDblIVi5h5bSph2I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/LQ/LQJfG2MNHnyXOvsz28VGUCv80Ct7nj8HM_i-cKqjSFg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ls/LsChyuxgjfk5l-ho4B-e93iZ6mHSK3IjvhmZfHFXUTI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Mn/Mn_GXGiBEOM4BXHo8WoOo5rTCTfKcksaW64banP-7P0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/N7/N7uGCIOmTFR3e5s880xHaOuAwgx8BXXXvUgawWXyvEY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/N9/N9I9AndWoHI25CuWHQUs3o7tMw3lFwKckkjnbwlOtQk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/NT/NTNTUrI37iM00TCO7PJY6za3IyZlQvujQQYqHwrxXYE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ng/NGh28TnI8MI4EX0k9Xg5dDKAjE4FJB08_WByjLoCDU4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ng/Ngz36YYa3DqZ1hpWDd25R8i2y7XW6t5SzDsuhn0EVbQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OX/OXjxHnKgHLaEpsF_RwpLYLqo5-hdvkGh6oUY6iLnsXY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/O_/O_JDKIlx6_eN5BPCYmp6D7GkCiNHgwxl31cnRpzo9j0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Oh/OhsTmQH5UXh9lL-r3a5eN9zhBeb3myfNhDKodW0dre4.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ou/Our8Abkp4wOx_HnV5wwAdB73DEHm9JMVBPH_oOGDz7I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/P-/P-cEaKuaX89WINQhpcO1HiOZGqDbnYma0EhsyA02_HA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/P8/P8Mf8CDRiKWckVgwrRzsf7iOqv_YTb2NSB1mk9PGXjM.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Pd/Pd9js4FS4IkizfaoEwofmx-u1BuH07fHfo4jRO1s3uo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Po/Po6QNSUVcwV0hIj5S12kQhKKRUT-Av0D7vv8ZEezzBk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Pz/PzpWq0LzzmiGetCVYTJP2fESglsAjH79oS_N_FmcpEA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/QQ/QQjZEwyt47hcGLBQnd4bxK1RnL6388wlWt_-qRL9QxI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Qx/Qx4wefCS41Nynaeh70sR1oQflaxhIqgqI57YIiZVvhc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RE/REM7Qt1meU-tf1Wwzx9m2Ex8FSNL4Ac4Hh5dUjCpohQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rb/Rbofto9PCO3Xqo5Kb2bfKxidbBqCea8OvPV7fgZhYqc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rh/RhELObEP6WOgvZRsFG_UOLejgNpEi80uIgg2frnOVGM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Rk/RkuFQbKDq4yK0RuxrAAyktPGjclHBNC2rQ8MxWqxhc4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/S1/S11sGtH5-7UHEft-KOEyzTjynx4QxVUCkXYLa6bTvSQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SA/SAePtLkGMoh0xPlyx3KSVOmY2S2WceTxhNmVPM4Avwk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SJ/SJ37zvjYsOc0W_N121qfBac5Ave5tUIijbKa8ih1JJE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sn/SnoRRhUoQdDi9EbxvaevgfLauCLgLVsheiKsR54Kjfw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sw/SwyIlWe4mW-S1D1KV1lW2qTNWZwF_-APRUsJvXma0hA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sx/SxMkFQvQYrgxva3so2GOBrxfDH9NvdeDTZeAIKuhsBs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/TA/TAJETM9mHztCEnd1ZOWzkHeeOUm-LVcyWpzaI3OklUo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tk/Tk3p5H6iRTsufo_OZhbd96jjvk1iIijfJn67gtl8_Rs.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tp/TpEhz31Vry4blOsb19xfTmLTrv7z2lOfuzTdE3GAf08.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Tw/TwXQz2y7XuFI6moY1b7OAfRj0yvQgh8FHWLelbIkpqQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/U2/U2uaXPqVIKdXq3WhD4ve0eNnFPR1mLkVw6YRBMpbJMw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Un/Un1S7oFpRfo8iXfpTHfmLfKpuowlu3a7xmoRX9o8o1o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Uv/UvzZcA7VsfUnNXg1faVWZBBwvpDuMwkhFsp8Yty8c5k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VO/VO0NU-0YjMWB518kDQvBAN_TB-f163jCha33D9HXoGI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/W8/W80hQWjpEvHcvAv8NK2J7OVaGOqetk_9zImXzOL3kKA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/WQ/WQlY1gKet7rqxIa0Tmm-pXMzm9uQKfTC_iN6y0UErQs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XF/XFQ1cyb4geU4-m45TZ6f8O1-6F72xmBPM6L7RAgpmNk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XG/XGKSlgoUO-Ao6SLWO0LBovvDllZF_qlYf6CMxVVP0UA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XT/XTT3QmjQsOlMF_dFPgMD4V68iD-HDiZZUnKLMjhCHHI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xa/Xa5vmj80u39cbSYwvFp8MP0ZjZPxbhoBXbwtDSwrTj4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xj/XjGC7OdhT2-8iU6mpw1aRSXg5-HUu6lrpAxqK1kPYN8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xl/XlwIbBHvQN1mPdaybMu74nsakLjjptziEiHWZLXrKro.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xl/xlpNYJ-I5t3H-Q-ktfTeNktZKv6lfTzk3C1g6p7FHWs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xv/Xvs5FwiU3ADexvO0PM5dqsaii2mju3EmTsiTQs1rhGI.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Xy/Xy_jRQku90hZK8aOJcggEBPFu_2USlHMFYhAAeCVjyo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Y-/Y-56loF4CG0OZHkkSpbGpqs-JQXKnU5qxpUfMu94_dQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Y4/Y4j86RBxOwUicCjzQOzXGy0qIoq5T-vUA6grPaX7-vA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/YOYHgN_CYZvhn7Bx4JjkkFvHaBGRtjEmdO8dGzpJeo0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/YOgxpoMg5VdlPVutuEBQEYvtxgnWIrDYp2Kd_m_2QCA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/Yo4PIprn8GN72L-Uf7l9Llo1pi--fmh2Pw20qFFYrSM.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YY/YYlQ5LzpBHieP1jNUAFLRW78t99PoS6PQZoHLzvAmqQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Yj/YjHZbRQ4e3rroImtj_1EGCKGdU4d24gCi5kjgJKT0Eo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Z3/Z38TZfN9y2TJJrdYAogo8EKs28avVKmbyCxwshjm8S4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zc/ZcGWNhggUU9-hpR3Rp6n3lGdLffDUk1-ZHkdrgsI4Fs.cache +8 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zm/ZmAvNaLlj36Yl3dRtL5jXgQb1ROtK6FDQ8UIJvDf-50.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zm/zMfeZQV1ZaglFuhJlqfoH5nBqycWIGi4TtdOsBXhiQE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zo/Zo-5NBFdii8PLufO6jPHfksOVBbZgxXwyiIBnX6-arI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_S/_SDIVNAeJ2JgDNkkZbV-DbL7PF6UxhpIdNmGPIqepj8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_T/_TuZsxsNu8oWeosPWrwp5FFjJMdw3-bR14LuI45gyfI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_e/_eLlScoirmskBHgaco2SBQSRSvidoT0JqA7lwM6z5vo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_f/_fJObZyqnMEnxYaRROG2kradIRxhFG-d9emrXIrFU2E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_m/_mVz9daeaggkYCgqZHOUq2rXXwnDVVSgG7TxxuRhl3o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/a3/a3Wlw8mfSHL3Dkg2rPHq8sfIB5_CWrja7maNwTSlHeY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aN/aNnagxTBHQBX-Uk5eD3Zs8HVPb39rRYKAWRusog5ZGQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ae/aedjSmdfbe95obaMai-ieIh6a_3N91TgaJYjTo7tIZs.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bB/BBePVrVgXjj33MChLDgH52MwyAavBoJw5dl8m-xbnbU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bB/bBrzjV__VsMBy7B9FWdu9no2bbDQ3acRrIW2SOfshL0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bL/bLXE5zW1q67OPev2YvwAbhGVJ_SbApqE_Ls58OvrNu4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bN/bNYxhHdkUUL8Y1nuz9_-kyZ_UN6VLeoCzNMW1EVTXXY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c-/c-fmu-AJTAuWWqRYRITv4TvxepuQd5pl9zoW655uOss.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c0/c02CYJm8uXV42AjNiiheDJGwvAktcPQpSHOfMdT2O6Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/c3/c36-ILADjdI0hK-vAafc2slgc5IG0s2L1_iUhB7Nt5k.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ca/caudjI4goS55DlSgnZ85x9H_OPROOa_IzcOte5i94Lw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/d8/d8UVHo14387ggWM-ihl2hnCGjrdD7kD1EWmtKoJFhZs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dE/dE-UXNWFaPVOroV1gDYLPr11Aac3uIEV1U2_0DlBChY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dG/dGQHIXD6OxFuKLBgfZng3jhaLt4E2mL4rXbIKIgi-1o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dj/DjDdFr4eUKFW1ELhsrqjNn-1fgWUHaiDP9K8fEzRSTo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dj/dj4jKx8uxTq7bhT8X-o5YE4-MenFUARsxg9p9-aBGn4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/eZ/eZeS8IM2kEkG8Di1hc78lPtrcKgCxBoJF3m93SwSl2o.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/eq/eqSiLs66O8JL_zsULRFTvv4UHaCKJfKGXT9SE-ENGTo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ex/exxTGIdEZtv28XRzt5nkLHq-q3ax6zwXM5TYwcLem4Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f3/f3Vhu9wCLqostdP0O1KvT8rrQICvCHlWDOVcqoLaQaA.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f5/f5I8b7-97jbOTGMz6kOh125uhlC71AwPFmfx9An_Yfs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fJ/fJL-23z_wILBwjstvUogxa7XE2gV8euVbemL1A3bN0A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fW/fWu_Jbmw7pCUuw6NM9FHK6dHakwoZlgl1WrLDPjI1Xc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/f_/f_92yxHv4NT467Qe_368dBwfsNG0JjOW6ZGNNSN7B-4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fk/fkGFDnQy3ZoizGrxvBeicNKt4gKZq1tbCY98d9J3bu8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fn/fnsUMJ-l4Qq0Mgz90Uwq5iQcO0Jz6FM2aphVdoaj6PQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fp/fpp4a0aLsdj0GWG6PDEb00tmkbs2HAV_wcCcnFKkdFQ.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/g1/g1FOHMzVGFlom-5VB0PL5bMu4w2PcyC0dN6H8iOFTaw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gp/gpk1qbxhyFLe1Ti05iOTnBDoV47K_XwltWsrci25r6E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gx/gxNDUXeSuAAy-u4tltwoYq4NyMqaNFtuB5ekyLW5CZg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hB/hBuH2UD-FyOB6d5tntOeamH_P2DhL5fnZooR9eSxS0U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hC/HCSca_wtgnbQcyCOUzEgY1HA1AiGPSo5O_UlH2OHxVo.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hC/hCZpc9fQarc_-WwXwQlBGJdfyf8K0j0oCsD5wwJ87fQ.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hH/hH-9z4LbnPE5PvD_Ulfl2n7KLJ2t85eBdm939oK99jg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hj/hjt930_FBM8T4TSqao690Ut9wpyBcyovx50LwBnwfCI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iM/iMnsKhKBVL5ZlU312QbDxKAQxdbWixigrdtm6nkNIpM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ie/ie01ktpzESjQATjWLtmJrU_SqYGTPbXTfk_p1sIkyLE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ik/ik91oPGrzPQ28WVZeMtO9eXMoAn6dIewX4mtG6oE3wk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jD/jDbBgIr3eqwHN2tbK6dfEbBh153VcG8w2gIc00cvUSI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jL/jLgFs9r0he0nwxve_QPSGsMCwD8DN0p2dutPcBEdudk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jR/jRfx5gPnRK0E-bKji2jhWfatCZTkGQLNuAh6tGzN7Xk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/js/jS7F-4ji84iKnL6VccBetACQZ09FDa-jFeJcpbWKZp8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/js/jsLM__rizw2y6oZgK1J92rDoGld6ksh8IC4bZik5StQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jt/jtsPqVuhIBCkiezypSQiA91Gu9cHxJ9HYIJgyOFzWpI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jz/jzgPDHzDiORAkY9cdIk7iD6aeeMlQFSiK1EZMb5LArk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/k2/k2DnReFaxm2COfOVCliXIWmrQW6SFKrEzK0C4UVmMfw.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kT/kT5GPb8H30zL28XXLxEpjiOHbvkDuIXPWGblRef1BQA.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kX/kXQi4LdsbeCcGgz0DItW3yQ_CNJBjgRr0_-rUgRAX5Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kX/kxCCxS0DA1OuBKQZiE2l0OaLlibk52cfWdP8-W62Uew.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/l0/l0bpxrry7l99VYb6OSfDAuRHD8b3vScsEM2rKwWbzbg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lE/lEn5gC3LZEbwhSVk6N-pbWaJ-B8-V9Ni94RB0NOcF7s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lG/lG3iHoJOI6LEroFQ0eatdHaC4LMdejPH2WCGx-hj0IM.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lH/lHgP5ecRDTRlmWXvJkjL7hXApyVNu9okZwu0qUPVWLY.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lM/LmI4-RSp3IzgufIh-m8oOgwQDjOVD3_Pg6uiSwi-ZMA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lM/lMK2-DaB5fyKC0Mx4GC4vZmeh-2U7o19t0u3lf49BJM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lZ/lZbVP0P4nhiaXsNfwakCwfnn7S1KRJFvuTmvNd-hT5Q.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/la/laz6UauLx5eH2uAX2-MoTe8LI_w9k3Pc2s0av5zP5Os.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mB/mBIInGzzmZtHE9f_MonfEGNoMq6Rt6w7hFaGzK7CY3U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mM/mMNvregKyLKC7sUeixSvPy9QJVIhpQuF9HUHIFA8v5I.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mQ/mQrMRifZ6T4NVAvNTigREMDQ2lIs2tBdk_HPBeh5c0E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mi/miMTncRS_QRcUmEjrMCCLHvqpyP3Y3tevYqbGeHNCwY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nP/nP_6hZekGfWlK1BxG3Jpesn0Wg-PlXPQvx4q-oSaUnc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nc/ncvbMM5nXJrd6F1pzx0GyKcFlJsMrhApX7mIGd-Y_C0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oA/oAnMt8rD2Y8KoKS-OlshH3pRIvvjCflKb2WCHTbT2NQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oJ/oJupiasx8q1af4x7mHMbTup1gJqv5z7OoQJ4L9Ss4KY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oJ/ojRlXNPfTajXI8xb3VK2gQI6y7uLUEYOp_JmuI98Nsk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oY/oYXCW9fFRCuaXxAA0yRPTDT-kwODWS_XFZKsTnOZVww.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/od/od4Hn-hIPfcKzoWdAX0i_U9Uvfhbz0pGLNeu-Yy6BeY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pX/PxyzWwsLWJGP5H1hmuPZH1ecFGSer_3lgnMoR8DL1_0.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pX/pXatIzIMlyuYQ5ocuRvGOdW5SUer7V9bmUchsJSTmOw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pa/panfaQzZeA3AGdf_J9-Bt-ojz0Ag0wZLM7zWyFxcN-8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pn/pnkosyuIYxWPtFEhs3pZwDW14neSEZ8dpDZenAQEWCU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qF/qFeHFyL9X1q52qcX5G3kWdyfIvGSAxa94G5-X3zKJUw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r4/r4RLCA2JH9MDKvTuYkWxANEAgkBtBkzL1xfLYb2bdWY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/s7/s7WY0ri3ThG-7kmTez9gaezuyzIHtDnCQsyyyVaAI1Y.cache +3 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sH/sHwc0BgUVQF-beOHCqO1HfAgQLZZvrDCgqRhlcqkAIY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYHbJlpT7n7snUMZPsqzsD7SVxtO_TSyQ2ozNXpzvlE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/t-/t-RQAyny112Yh75r-KP8uJpuzS5EaSUCOkxaII8hCdQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/t6/t6f70gfkYYgqo61jqkAEsqjVugK7FNe4uaMLVutlfdo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tE/tEwbQxrUFzGwUKGtwW2YwXMdEewqp5mexvCrPp3AyMg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tx/txGVXlv6uBNHc06d-ej1FrGSSQSzLXTMmuw5M1QkPTM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/uA/uA1tfNsvpEfJssTEQgl1EAfSoug4zHSuBBFeG70UPvU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ue/ueCpC7IbEUV9n26Ai5S0JkBvrThWhC-QECDjXZ52I30.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/us/us3xxjCK4Ovczw49X1Mosyyo_fXkNcPZB5ZthtYOBj4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vE/vEqA11YY0Pn0C0Ims0FY0t4THzZHwAODRT46yLLRQEA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wM/wMledL4ttQiAHUdjtbGPhPWrFsJcADMCeqYeQLQVQ50.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wf/wf4nZLiUKwZPi5bAkP8uOMlsezO8FvmeJQlvNcFnUSc.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wt/wtsfbgVHG5HnQeSccq2bvve7RsTjfx33hOx_4lcEau4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xE/xEKXI_k6To35TyFYx7_CHpLXMBN9u1yvL7XbBGSCMzo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xW/xWTKryjn-5sOpmPF4zrGDd-ThrSCEQuLXAShhkbIFFY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xZ/xZ1IbV-YWC-jHrkzCffY4GvD19oIfe753l7dzD3IYew.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xo/xolz1HzMb_2_lfkmvbaT8_QWgxaJqQ5w1OtPZWqKHiA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xr/xrxYZJuo9pgxXDbGXmtOWUlzq9jYWuLOsTuFS2ktVlo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y1/y1cAP8pJ30_K5pLPPRJhDnXgB7ggVZ6RFgg_kanmG0A.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yT/YTz62lYcOj7f7nmZ-Z_jpl5wOhkaWZp99r0tQxT6SVY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yT/yTdpyb-v7EzirDsmEwwm0GdagRBPzWl4V5wTe4irItA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zU/zUK2_euW_9gw2XdaZ6kpwsCEP-RGLn4V52h0Y4eEbys.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zY/zYCYsTXX3QYnqE-YOMjmjL1wo5MujSkR4CeStEjablU.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zs/zsaNhb7gDFFpZzrSu8n9zLQu6ZPD3DfWc1_7m9NtMOs.cache +1 -0
- data/spec/dummy/tmp/development_secret.txt +1 -0
- data/spec/dummy/tmp/local_secret.txt +1 -0
- data/spec/lib/helpers/ice_cube_select_helper_spec.rb +60 -0
- data/spec/lib/ice_cube_select_spec.rb +50 -0
- data/spec/spec_helper.rb +9 -0
- 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
|
+
[](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
|
+
})();
|