ns_settings_ui 1.5.3 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -3
  3. data/Jenkinsfile +21 -70
  4. data/app/assets/stylesheets/ns_settings_ui/settings.css.scss +3 -7
  5. data/app/controllers/ns_settings_ui/settings_controller.rb +5 -3
  6. data/app/helpers/ns_settings_ui/settings_helper.rb +3 -2
  7. data/app/views/ns_settings_ui/settings/_setting_row.html.erb +16 -4
  8. data/app/views/ns_settings_ui/settings/_update.js.erb +2 -3
  9. data/app/views/ns_settings_ui/settings/index.html.erb +17 -8
  10. data/db/migrate/20151210214903_create_ns_settings_ui_settings.rb +1 -1
  11. data/db/migrate/20151215081718_add_value_type_to_ns_settings_ui_settings.rb +1 -1
  12. data/docker/ruby-2.5/Dockerfile +13 -13
  13. data/docker/ruby-2.6/Dockerfile +12 -13
  14. data/lib/ns_settings_ui/version.rb +1 -1
  15. data/lib/tasks/ns_settings_ui_tasks.rake +11 -4
  16. data/ns_settings_ui.gemspec +2 -1
  17. data/scripts/test.sh +15 -0
  18. data/spec/controllers/ns_settings_ui/settings_controller_spec.rb +0 -1
  19. data/spec/dummy/db/schema.rb +6 -8
  20. metadata +23 -274
  21. data/app/views/ns_settings_ui/settings/_edit.html.erb +0 -12
  22. data/spec/dummy/db/development.sqlite3 +0 -0
  23. data/spec/dummy/db/test.sqlite3 +0 -0
  24. data/spec/dummy/log/development.log +0 -23490
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-F/-FdC999Ss5J04y897SbjNpctZwixnB63mRB2wtDcx10.cache +0 -1
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-N/-NSs9ZVkkdYwT4sOTpMTFA5gJ8Ude6uOUOBeUZoloDE.cache +0 -1
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-Q/-QfVRYVUq5pG4F7JeoIWqAWxPOjrU6RfWB9LdI9VwOs.cache +0 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0z/0z44FOdnNgQDw2poyiUHArOO2QS1k_IVlxxhEb-1Rx8.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1O/1OpBvJE5rHc7-5S56iwTGIQhcqm70f8qsvNhyE_8ncY.cache +0 -1
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3D/3DR3bkyeKWy0WhIN6onwEtws8vbkZy0GaqvlupxTQmI.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3O/3OtS7JNyVgxS3S-U7GJaUC0vh5qZyr_9RN-DhqqfIQY.cache +0 -1
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3p/3p7Dv3HdAME3Fqbajae-lqXQKobgQ917uWLyuHuPMkE.cache +0 -1
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/46/46XSUzbDahlk_0H-1ETBvPQ4TlaJmy8-y53aiXoNHTk.cache +0 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/46/46jx0ekpG66EvZSuem09BUJyOpPp7115C35uJiqhEtk.cache +0 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4Q/4QMmafAWfLHJI2cHjU8OYTMq8c0Wvq2RJ19JzMIp2H4.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6I/6IWJJmP6G0iO0C-z-d_7F-yHNFxG6PbfgKywtuWpEaE.cache +0 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6c/6cC0QogTnFyfJ-vMde-mzaDFpy5cbybG-yteTijkFUY.cache +0 -1
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7Q/7QjpaRypJAx3zMXirAzYw1Y3_fQo_aiirnRIQbjAzmg.cache +0 -1
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8R/8RAo-pPFiyDHA-H_mS5PIRa1XfNRz9X3sRu6CCtOby4.cache +0 -1
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AW/AWCsUF50VXmzIOTOPiP_scVXl9RZIc4peWrmaIZ7TP4.cache +0 -1
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/At/AtKY_-ns0jeT2EUNlqgkMjQu01R_L5F-VSz56gCUGyc.cache +0 -1
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ay/Ayhh6vtB6yED44QOk3uKNZIgOyC6gLHRa1hqCxOk9ds.cache +0 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bj/Bjo8CkvPGR3F_WD7GcTmberUN49we_4GyIfUsGJHPP8.cache +0 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bt/Bt8gyrBqlWBvHITzMgS8sxaLFCkWK1SP9pSMHhEI3eM.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C1/C1gCViAf2krnIDxGgi0ThdHWbur6GvFs2T0WBTeQXws.cache +0 -1
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CZ/CZjxDHKK7GY0GDtLBmgHr8UYDy_viXKnkqwi_KmU4ek.cache +0 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cd/CdV_Rauuu5-PsS0KAsCccCy0YxONvVTIdJPmtipqSUU.cache +0 -1
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D2/D2OH4peXimtztdE-CSDPpWh1CLAVP7CCbD3rNGpeI6M.cache +0 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DF/DFtvufBn3kcnPSovOtNImHbgYxd9uSzdpkOxQMLDZMg.cache +0 -1
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DO/DOeD_XISVY45Mc229_02iPiTNzIxjETmmBaLmz4y1u0.cache +0 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Db/DbmLC3wtG7ztEvkzmVAubW8vf37XdD0bT3Kh73oed1A.cache +0 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dy/DyaNlIfauACX7e2CZEJvOSEbGEPvmccKPPoEVzP1_p8.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EJ/EJ8Rsq7S1cgOjpeec2b64SOj1is_wA8W3Ur5CpYyDh0.cache +0 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F3/F3QnL9U_0ZOAYIizctCDkrxxndIIsLFF0ERnt8259w8.cache +0 -1
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GJ/GJdCvsqCHHyjWgg-Q8Cdvixf2PAXpR2WwRuzb0PCphs.cache +0 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GJ/GjQ87078T4VFOW8ALq_6DTZONOVNhgeuVeE7rsLaVWM.cache +0 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HR/HRZ_K-2R3nK0MdigVY5mxEoj8jbYX3F5lgUO9ul2Hw0.cache +0 -1
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hd/Hddvq1OrOkZNotniRrXfSmpL9pOdFDof_rhPKaCnEe0.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ht/HtcoGXpAs0vPtui0wwaVoGPlul7LCqkiwsSAjHHQ0Qo.cache +0 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I2/I2d_3gPMdMEB9XS96OeugAunIQvqPXMF3dp5zz6KUDI.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ii/IiTaQGM6X_h5XJ-W6WogxDJyXw_NIjieIDLAOr4MUQI.cache +0 -1
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KT/KT68l34Ek-RNxgJibtGN0XyjyRKPpjLkEOgENe27xz8.cache +0 -1
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mk/MkDjjEy6Kl1JrukAlFstQqx2vV_tcrTvzTCcWKpbfBs.cache +0 -1
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/N9/N9wqUG3H2RFIzRE7Mh20yrQ2RafQOJn418adyUiRK_c.cache +0 -1
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NO/NOG2S480IIwl8dcAyIdqbn0QvTmCBjZJW0iueYMYL74.cache +0 -1
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nw/Nwn7fbsA4XjK852qBfis30xnD-DRy0fp8l_DlJwpB9s.cache +0 -1
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OR/ORVjHODbNBjT7mz8QCB36JEy46hIOFrIkvrMAVDIjz0.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Of/OfPUz0MWGdAPbSKOIK72rewm20rxMqjJQOAGJ9wPWjg.cache +0 -1
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oo/OoeXFV2M-nF30JmRjY2YOORmMezJLUHzpJuZ2ti1SDk.cache +0 -1
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ov/OvuregV5mjAB512d9BakgfoEVb3ov1ci6AvWnzDGpP0.cache +0 -1
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PW/PWiOUryTQy-wfisdVVkcmBFcEpUnKsrK24isdr01PhI.cache +0 -1
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pc/PcZKAnBeSglx40r4oDgFKuyPnt3KEIt8YNbcUdiTVDA.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QG/QGOsup7IiFCwTaT2b4jYdiFQscErnozBPXBDPvFQg6w.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qd/Qdri862WpTAQEh3CIcHvRdmSYlQSGCMzTkv-aOKtvMw.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qj/Qj2Bt-iD41OAtRdmcx9PTKbrqxvGPZEScH6f1C03dSQ.cache +0 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qz/QzvgB6fFC51vfyHd2eBD9-6Vhxsa-4YezuAZhA7EEjk.cache +0 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S3/S37EJZx9Pg45uQ0aAb3C1vgPp4r2oNPGauTRShANs_g.cache +0 -1
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SL/SLwdTPcjVGMkjrBjJmgxuiZKmlhSbeFwwXvnGsXEogY.cache +0 -1
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SR/SRbdGnvPH6nQxt4y227ghDU8VeOdjDQ559V8cWJPZ2U.cache +0 -1
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sy/SYuQmv9jBSH8RXWMX3dG1LUFtn7kWKlfFOuvLvlyzeU.cache +0 -1
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sy/SyRxJefo7cXCUDbxcGaNrQ_kf6lkqD50HwakRuTWoNA.cache +0 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/T1/T1G6kbpyF4xTgof40pxD0uDlSNd5hYQgLX_hmoSeSWM.cache +0 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tg/TgTcVvqf5KTGti25aDSVdPzdEFSzFCA7TIgv36nVcSw.cache +0 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tp/TpnSl4A1AFaK6F0uYq3WCbHznOyPE32sF-kxtanp4ks.cache +0 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UH/UHBmDesCdEBHhSHYK1e2UzXrhQCQldsb9I2PM3RPFXM.cache +0 -1
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UU/UUofLUM8LVpuHM7TVkeXJA7L5087tdH5LyPRa6c9Zcc.cache +0 -1
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UU/UuZXH392T_AZQUAseqI4XBDcXh0GRbYUK121jpV0_ZA.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UW/UWMO7WuQ2oku7xD-Xp6KPhbJ6VEesNWyxZWLyyvDbZU.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UZ/UZgO5dJkjTRBO-gTiO63fGX2l0FUSh32BAwaTs2vccc.cache +0 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ui/UiTPoeMtFwaZpFc8bmxSWfznR_OzM_dDVnWIvjmchWY.cache +0 -1
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VN/VNWmibHBxnli5KRsInGNG37J2Uw7kXL2PevnbR7eNfI.cache +0 -1
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vu/VuVBns1xLufuHnouCSipHJ82maX5B6fb7B7HkvFO0qo.cache +0 -1
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WL/WLVdy5u-N98Vk-QCYMflztniiaBFu__3MzbZJi-jz2c.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WV/WVBT-I2o3oeUZq1JMK6Mm848SvNW2h1hMPQu5N9MNag.cache +0 -1
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WW/WWMFN_Yz2a9ivhij6YXOd5V42fGFRULm-FSd4Z4ezkQ.cache +0 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wr/WrsKXqRppaHJewtlga2zYPLZf6X3nLKBRqabiEHMkCY.cache +0 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XO/XOvJqCk_f7oR3gKBo_jXguWiKbaI476GiHndl9dtjsQ.cache +0 -1
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xz/XzP9UEsVWcFmo4MrseF-EZNOqorLjBxmDLI5_ET0ikM.cache +0 -1
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YA/YAGANGVfy2Gz2ffq-eXnAlIJJGd5URn7NIsN-ebra7w.cache +0 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yj/Yj0pfdUMSvnHoWAWnnyuLzl6GDhVW3LygSzfc-Vvkpo.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yj/yJeKw7zchbw6C4s-mqrR8wDAZbMndoIjNwf4Wb7zrSA.cache +0 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yy/YyivSTNmIv6OQy94H9AnYptKnDPw9ktbwBY9-PFvGVk.cache +0 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_3/_3nWUmX1mDKUy_u4AXTbYn3fd2GAxE5NRkWpGY3K3QE.cache +0 -1
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aK/aK0TOXw7OQJDjqTUvGeTgyTOnIdAdI8gdFz0ddRb1IA.cache +0 -1
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aK/aKA502o56zVcTHLUj8Amq0FI1AuvhEnORQiynR9WrjM.cache +0 -1
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b4/b4FPxc-ZQpBM9X5ep7aREShcNVZyTCvqraBBfJgTSR4.cache +0 -1
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bH/bHFDdgb7s8V59XQqOsLyWAML1RJtMO48GI0Ea3LAsqI.cache +0 -1
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bc/bcMIaYq8n-5UYw-_y68OoQ162CFvLoAfmmc86FUUcNg.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bd/bd49iO418g_9U87_6f_CZoN6cTDtyQ2sLwwWNhofOnw.cache +0 -1
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cp/CpQqQdUQWToKb7AwQX4Ixy72_Nonmfhlfz_ewDrz9EQ.cache +0 -1
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cp/cpKzBSS5XN_k-jtINhrz6iq7Wrgm13B2XjF9qI-MBVo.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d9/d93c3Sp9oW1OiUKbMzLcDVKt2fPU8a_T3kilkgtMzBM.cache +0 -1
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/e6/e64aJZ_5VbI9oOmZLOBV2UBLbRD-8TBsth5cANqDumY.cache +0 -1
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eA/eASMC_8AlLbpzg03XQ9HGGhcLQBErc34BCPyK5r6BrE.cache +0 -1
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/f0/f0WP9-K01t6RryUWIZJvy6mJty7JHLQ7wGVMlRG0sQ8.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gG/gGo2aNHR_tqIujj7OINS1CZPMzOMKPwiEV2KNREFmSk.cache +0 -1
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/go/gozO0BUazBVGdId-NvnveC37e0_APTEWov8LA9IHv_M.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hF/hFt9ndUua33R19oZ1IWQHnRP-EpVCGcT-j1D0OiSIes.cache +0 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/he/heLUdEbCROjlScPLuizxwLRMRk8eW_3UrLnRTj-6FC0.cache +0 -1
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i0/i0WkhwuqmCrMm9ooUYOJOBc__Szdd_xxwYsKr7N4LlI.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k8/k8SkMTHDmrbbhMG3-4nyZSq93qK82R53huUR4DzzOVo.cache +0 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kC/kCMk6Tg9MUYKr49zsAPnmkBeWR1WsB5XcL9TBqgSqrI.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lw/lwB8j0HE5aLCiMEDvswdely8Og9INqOfBFhGpfJ6WdY.cache +0 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mB/mBbMv47CQKd09t1AKoxtEhFshPRMzZ7V7uvpoF-x0lc.cache +0 -1
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mQ/mQsvLB7RFKssj6mS7wJxVRxW4oD9Ot2QKzMtwwFWE7w.cache +0 -1
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nF/nFqwuy39CKSLWGmelGbRmjwMtQrj36ZiXQfF4zaitxQ.cache +0 -1
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nJ/nJ-jUZvTLm9KlB48NhKeLHy-iRpwjAr6CrV_1CF3IVs.cache +0 -1
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxf7GQmk73GYB8wvaVV8rb1F03k2TvJVDqosFsrMV-0.cache +0 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nz/nzpyMqtq_pqdNQP7Ag306y5RncQdXNTMx3vNC8d1n7U.cache +0 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oZ/oZ7AJi-fd62uwHpvSRghBm5fArjSbNaWPjtgdT1cqrM.cache +0 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p_/p_1g7nGxVLazVccnvoBs3IsbZWTZL3j6K8sUE4QQcuA.cache +0 -1
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q5/q5plZqNlXhJ4cZhTDyvHaYQj-ELvQX6IbyFuz4FWC5I.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q6/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qA/qATIMf30k5jyTYuyqaLIXsTV0yq5Vg47uYfZrFT_Zu0.cache +0 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/r8/r8Ml5Yj42tUBE-SBwzzgeKr7dZRupk3xwmAghRBd0HM.cache +0 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rm/rmdmSPv0_Fno0jxG3WBHmNVi_nfdHoO36cx2vKnQJ2c.cache +0 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rx/rxhoDqxQLEKOgPZoTyf95ktPC6gvO5PcuB_fc9gzQu0.cache +0 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s6/s6s5v4NH1Lp6oq0yCbEvBJJ-_Z9_S-iK7MgazONbgeY.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sH/sHrO_GIDmh9SnsGAofbPT9b2BGvu8chmEQ2JaQTyyao.cache +0 -1
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sX/sXTQzWhL1PEIkeEeHMLXpAsZJ0zd_zIdC7KNyeuseNk.cache +0 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tm/tmDnQyczDF5ySdgw4urv6ZVyVTqfXTieOhEaJ2dcJhw.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v4/v43_rRl_1xff7my2FVzutEpWHVqEnxhNw5a_pNRcTig.cache +0 -1
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wD/wDl7MJqUJfwZDv4L3C0P7T0vmziK8MYdELT-CYwViYw.cache +0 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x-/x-TO98Qu7avgi1jhe_6td3ujHhg8HMIUhkmLdDUHB6Y.cache +0 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +0 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xl/xlzTmoeuMo0ObIDlSNfXuAe1dkCAMKlejeLCjMkldjE.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xv/xvz2cn9RwJ7hRlgTKeAPVn9arDr6JuxZU41BEvKO5A8.cache +0 -1
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y0/y0Rune9_xN7rxsq66mW-4wJyXS59_wqrRJ_x6xyATZY.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yl/ylGrK3yc0XppyeiiJY1Tsbsl-6rqnYBLh-WxrY3OXuE.cache +0 -1
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zd/zd3dSnzU9eiGm1q4nkRs1uSRY47fcdUGUBF24J2lAYs.cache +0 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ze/zeWp770WKlyUc-FIchdwpyb6XDG0Ltgb0pAk-mVb6Ag.cache +0 -1
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zy/zysQHyt5tBT6CImSW_a7aJHgbya-8dtfTob8fxUV_Q8.cache +0 -0
  153. data/spec/dummy/tmp/development_secret.txt +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33b7249ab4cc796c9d58b2ea4e44d8fb1b390d7766d2b5bfd7d6645c0eb4639a
4
- data.tar.gz: 8f07761e568cb3b8bb2a8d9aa645ed9702c52bc8ba8ede4910f3ffa356aea735
3
+ metadata.gz: 34c9708a37f9854ca1c79793232fb3a3c4fc32b59de9d7067c7eff9cc80d93a3
4
+ data.tar.gz: 85168c8174c6e31aee3d7f85e3debc6d189cfcf660c306ae65d79eefb2111f43
5
5
  SHA512:
6
- metadata.gz: 53e89f206ce9178bddbc49e166a06b9222c2253b16b0564bc1d3fa82488d993bbdf23584010975b1672ce7c56ad803594bf46bc8903e0b99eb84b5fbaebf0ffc
7
- data.tar.gz: 5cbc67eaf437014ddd1e9df53b8fed5368c88bbb06f3e330791a4c89ee1a2cc397aa7244ff52e4a7c1840a4bb2392754a7f52e6c7181185999e164171014ffc1
6
+ metadata.gz: 8b7c677ada5eb305d942dd4086b984d36b2dd12a02da0851942c6380f0685dbcaaad5eb188f4cdf3b3dd6d3b778d8c9892d8d680df9c9212a2e9597c806f0410
7
+ data.tar.gz: e752b4497976f043a03014c18168f8338f4ab041d7364a84edab1b1bfb2a3597910fa912cfae2e63f04100f52aef3debb3f660efcd846d7e6fa07dddaec698e1
data/Gemfile CHANGED
@@ -12,6 +12,3 @@ gemspec
12
12
 
13
13
  # To use debugger
14
14
  # gem 'debugger'
15
-
16
- gem 'rails', '>= 5.0'
17
- gem "sprockets", "~> 3.7.2"
data/Jenkinsfile CHANGED
@@ -1,80 +1,31 @@
1
- stage 'Checkout'
1
+ pipeline {
2
+ agent none
2
3
 
3
- setDockerImageName()
4
- discardOldBuilds()
4
+ stages {
5
+ stage('Rubocop') {
6
+ agent { dockerfile { filename 'docker/ruby-2.6/Dockerfile' } }
5
7
 
6
- node {
7
- withCleanup {
8
- checkout scm
9
- pack()
10
- }
11
- }
12
-
13
- def appNode(String rubyVersion) {
14
- node('docker') {
15
- withEnv(["RUBY_VERSION=${rubyVersion}"]) {
16
- withCleanup {
17
- unpack()
18
-
19
- setupGemsDockerVolume(rubyVersion, env.EXECUTOR_NUMBER)
20
-
21
- stage "$rubyVersion - Setup"
22
- withDockerCompose { compose ->
23
- resolveDependencies(compose, rubyVersion)
8
+ steps {
9
+ sh 'bundle exec rake app:ci:rubocop'
10
+ }
24
11
 
25
- test(compose, rubyVersion)
12
+ post {
13
+ always { archiveArtifacts artifacts: 'checkstyle.xml' }
14
+ }
15
+ }
16
+ stage('Test') {
17
+ parallel {
18
+ stage('Ruby 2.5') {
19
+ agent { dockerfile { filename 'docker/ruby-2.5/Dockerfile' } }
26
20
 
27
- checkstyle(compose, rubyVersion)
21
+ steps { sh 'scripts/test.sh' }
22
+ }
23
+ stage('Ruby 2.6') {
24
+ agent { dockerfile { filename 'docker/ruby-2.6/Dockerfile' } }
28
25
 
29
- stage "$rubyVersion - Cleanup"
26
+ steps { sh 'scripts/test.sh' }
30
27
  }
31
28
  }
32
29
  }
33
30
  }
34
31
  }
35
-
36
- appNode('ruby-2.5')
37
- appNode('ruby-2.6')
38
-
39
- def setupGemsDockerVolume(String rubyVersion, String executorNumber) {
40
- stage name: "$rubyVersion - Setup Docker Volume", concurrency: 1
41
- setupDockerVolume("gems-$executorNumber-$rubyVersion")
42
- }
43
-
44
- def resolveDependencies(me.knapik.DockerCompose compose, String rubyVersion) {
45
- stage "$rubyVersion - Resolve Dependencies"
46
- compose.exec('app', "bundle install --quiet")
47
- compose.exec('app', "bundle exec appraisal install")
48
- compose.exec('app', "bundle exec appraisal list > .rails_versions")
49
- }
50
-
51
- def test(me.knapik.DockerCompose compose, String rubyVersion) {
52
- def railsVersions = readFile('.rails_versions').tokenize("\n")
53
- for (int i = 0; i < railsVersions.size(); ++i) {
54
- def railsVersion = railsVersions[i]
55
- stage "$rubyVersion $railsVersion - Tests"
56
- compose.exec('app', "bundle exec appraisal $railsVersion rake db:schema:load")
57
- compose.exec('app', "bundle exec appraisal $railsVersion rspec spec")
58
- }
59
- }
60
-
61
- def checkstyle(me.knapik.DockerCompose compose, String rubyVersion) {
62
- stage "$rubyVersion - Static Analysis"
63
- try {
64
- compose.exec('app', "bundle exec rake app:ci:rubocop")
65
- } finally {
66
- publishStyleCheckResults()
67
- }
68
- }
69
-
70
- def publishStyleCheckResults() {
71
- step([$class: 'CheckStylePublisher', pattern: 'checkstyle.xml'])
72
- }
73
-
74
- def pack() {
75
- stash name: 'source', useDefaultExcludes: false
76
- }
77
-
78
- def unpack() {
79
- unstash 'source'
80
- }
@@ -9,13 +9,9 @@
9
9
  form {
10
10
  display: inline;
11
11
  }
12
- input[type=text] {
12
+ input[type=text], select {
13
13
  width: 130px;
14
- display: inline;
15
- }
16
- table {
17
- td {
18
- padding: 2px;
19
- }
14
+ display: inline-block;
15
+ flex: none;
20
16
  }
21
17
  }
@@ -8,9 +8,7 @@ module NsSettingsUi
8
8
  end
9
9
 
10
10
  def update
11
- @setting.value = params[:setting][:value]
12
- @setting.default_value = params[:setting][:default_value]
13
- @setting.save!
11
+ @setting.update!(setting_params)
14
12
  render partial: 'update'
15
13
  end
16
14
 
@@ -25,5 +23,9 @@ module NsSettingsUi
25
23
  def setting_from_id_param
26
24
  @setting = Setting.find(params[:id])
27
25
  end
26
+
27
+ def setting_params
28
+ params.require(:setting).permit(:value, :default_value)
29
+ end
28
30
  end
29
31
  end
@@ -17,10 +17,11 @@ module NsSettingsUi
17
17
  private
18
18
 
19
19
  def render_field(form, value_type, name, additional_class = '')
20
+ base_css_classes = 'form-select form-select-sm'
20
21
  if [NsSettingsUi::Setting::TYPES[:boolean], NsSettingsUi::Setting::TYPES[:nullable_boolean]].include?(value_type)
21
- form.select(name, [[:true, 'true'], [:false, 'false']], include_blank: true)
22
+ form.select(name, [[:true, 'true'], [:false, 'false']], {include_blank: true}, class: base_css_classes)
22
23
  else
23
- form.text_field(name, size: 10, class: "form-control #{additional_class}")
24
+ form.text_field(name, size: 10, class: "#{base_css_classes} #{additional_class}")
24
25
  end
25
26
  end
26
27
 
@@ -1,6 +1,18 @@
1
- <tr>
2
- <td class="setting_key"><h5><%= setting.key -%></h5></td>
3
- <td>
4
- <%= render partial: 'edit', locals: {setting: setting} -%>
1
+ <tr id="setting_<%= setting.id -%>">
2
+ <td class="setting_key align-middle"><%= setting.key -%></td>
3
+ <td class="text-center">
4
+ <%= form_for(setting, url: ns_settings_ui.setting_path(setting), method: :put, remote: true, html: {class: 'form-inline'}) do |f| %>
5
+ <%= render_default_value_field(f, setting) %>
6
+ <%= f.submit('Update', class: 'btn btn-sm btn-primary') %>
7
+ <% end %>
8
+ </td>
9
+ <td class="text-center">
10
+ <%= form_for(setting, url: ns_settings_ui.setting_path(setting), method: :put, remote: true, html: {class: 'form-inline'}) do |f| %>
11
+ <%= render_value_field(f, setting) %>
12
+ <%= f.submit('Update', class: 'btn btn-sm btn-primary') %>
13
+ <% end %>
14
+ <%= form_for(setting, url: ns_settings_ui.reset_setting_path(setting), method: :put, remote: true) do |f| %>
15
+ <%= f.submit('Reset', class: 'btn btn-sm btn-warning', title: 'Reset to default') %>
16
+ <% end %>
5
17
  </td>
6
18
  </tr>
@@ -1,3 +1,2 @@
1
- $("#ns_settings_ui #setting_<%= @setting.id -%>").replaceWith("<%= escape_javascript(render partial: 'edit', locals: {setting: @setting}) %>");
2
- $("#ns_settings_ui #setting_<%= @setting.id -%>").append('<span class="notice text-success">Updated</span>');
3
- $("#ns_settings_ui #setting_<%= @setting.id -%> .notice").delay(1000).fadeOut('slow');
1
+ $("#ns_settings_ui #setting_<%= @setting.id -%>").replaceWith("<%= escape_javascript(render partial: 'setting_row', locals: {setting: @setting}) %>");
2
+ $("#ns_settings_ui #setting_<%= @setting.id -%>").effect("highlight", {color: '#70ca63'}, 3000);
@@ -3,14 +3,23 @@
3
3
  <%= javascript_include_tag 'ns_settings_ui/application' -%>
4
4
  <% end %>
5
5
  <div id="ns_settings_ui">
6
- <div class="panel panel-default">
7
- <div class="panel-heading">
8
- <span>Filter: </span>
9
- <input class="form-control" id="filter-input" type="text" value=""> (regular expressions are available)
10
- </div>
11
- <div class="panel-body">
12
- <table class="table table-striped table-bordered">
13
- <%= render partial: 'setting_row', collection: @settings, as: 'setting' -%>
6
+ <h1 class="text-white ps-1">Settings</h1>
7
+ <div class="card">
8
+ <div class="card-body">
9
+ <div class="input-group input-group-sm mb-2">
10
+ <span class="input-group-text">Filter: </span>
11
+ <input class="form-control form-control-sm" id="filter-input" type="text" value="">
12
+ <span class="form-text ms-2">(regular expressions are available)</span>
13
+ </div>
14
+ <table class="table table-sm table-striped">
15
+ <thead>
16
+ <th>Setting key</th>
17
+ <th class="text-center">Default value</th>
18
+ <th class="text-center">Current value</th>
19
+ </thead>
20
+ <tbody>
21
+ <%= render partial: 'setting_row', collection: @settings, as: 'setting' -%>
22
+ </tbody>
14
23
  </table>
15
24
  </div>
16
25
  </div>
@@ -1,4 +1,4 @@
1
- class CreateNsSettingsUiSettings < ActiveRecord::Migration
1
+ class CreateNsSettingsUiSettings < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  create_table :ns_settings_ui_settings do |t|
4
4
  t.string :key, null: false
@@ -1,4 +1,4 @@
1
- class AddValueTypeToNsSettingsUiSettings < ActiveRecord::Migration
1
+ class AddValueTypeToNsSettingsUiSettings < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :ns_settings_ui_settings, :value_type, :integer, default: 0
4
4
  end
@@ -1,22 +1,22 @@
1
- FROM ruby:2.5
1
+ FROM ruby:2.5-alpine
2
2
  MAINTAINER u2i <hello@u2i.com>
3
3
 
4
- RUN wget --quiet --output-document=dumb-init.deb \
5
- https://github.com/Yelp/dumb-init/releases/download/v1.1.3/dumb-init_1.1.3_amd64.deb && \
6
- dpkg --install dumb-init.deb && \
7
- rm dumb-init.deb
4
+ RUN apk add --no-cache dumb-init bash git make gcc libc-dev sqlite sqlite-dev sqlite-libs tzdata
8
5
 
9
- ARG host_uid
10
- RUN (getent passwd $host_uid > /dev/null) || adduser --quiet --disabled-password --gecos '' dummy --uid $host_uid
6
+ WORKDIR /code
11
7
 
12
- RUN mkdir -p /gems && chown $host_uid /gems
13
- VOLUME /gems
8
+ ADD Gemfile ns_settings_ui.gemspec ./
9
+ ADD lib/ns_settings_ui/version.rb lib/ns_settings_ui/
14
10
 
15
- USER $host_uid
11
+ # Install last bundler version that supports ruby < 2.6
12
+ RUN gem install bundler -v 2.3.26
13
+ RUN bundle install
16
14
 
17
- RUN bundle config --global jobs 4
15
+ ADD Appraisals ./
16
+ COPY gemfiles gemfiles
18
17
 
19
- WORKDIR /code
18
+ RUN bundle exec appraisal install
19
+
20
+ COPY . .
20
21
 
21
22
  ENTRYPOINT ["/usr/bin/dumb-init", "--"]
22
- CMD ["tail", "-f", "/dev/null"]
@@ -1,22 +1,21 @@
1
- FROM ruby:2.6
1
+ FROM ruby:2.6-alpine
2
2
  MAINTAINER u2i <hello@u2i.com>
3
3
 
4
- RUN wget --quiet --output-document=dumb-init.deb \
5
- https://github.com/Yelp/dumb-init/releases/download/v1.1.3/dumb-init_1.1.3_amd64.deb && \
6
- dpkg --install dumb-init.deb && \
7
- rm dumb-init.deb
4
+ RUN apk add --no-cache dumb-init bash git make gcc libc-dev sqlite sqlite-dev sqlite-libs tzdata
8
5
 
9
- ARG host_uid
10
- RUN (getent passwd $host_uid > /dev/null) || adduser --quiet --disabled-password --gecos '' dummy --uid $host_uid
6
+ WORKDIR /code
11
7
 
12
- RUN mkdir -p /gems && chown $host_uid /gems
13
- VOLUME /gems
8
+ ADD Gemfile ns_settings_ui.gemspec ./
9
+ ADD lib/ns_settings_ui/version.rb lib/ns_settings_ui/
14
10
 
15
- USER $host_uid
11
+ RUN gem install bundler
12
+ RUN bundle install
16
13
 
17
- RUN bundle config --global jobs 4
14
+ ADD Appraisals ./
15
+ COPY gemfiles gemfiles
18
16
 
19
- WORKDIR /code
17
+ RUN bundle exec appraisal install
18
+
19
+ COPY . .
20
20
 
21
21
  ENTRYPOINT ["/usr/bin/dumb-init", "--"]
22
- CMD ["tail", "-f", "/dev/null"]
@@ -1,3 +1,3 @@
1
1
  module NsSettingsUi
2
- VERSION = '1.5.3'.freeze
2
+ VERSION = '1.6.1'.freeze
3
3
  end
@@ -1,4 +1,11 @@
1
- # desc "Explaining what the task does"
2
- # task :ns_settings_ui do
3
- # # Task goes here
4
- # end
1
+ require 'rubocop'
2
+ require 'rubocop/rake_task'
3
+
4
+ namespace :ci do
5
+ RuboCop::RakeTask.new(:rubocop) do |task|
6
+ task.requires = %w(rubocop/formatter/checkstyle_formatter)
7
+ task.formatters = %w(RuboCop::Formatter::CheckstyleFormatter)
8
+ task.options += %w(--no-color --out=checkstyle.xml)
9
+ task.fail_on_error = true
10
+ end
11
+ end
@@ -30,8 +30,9 @@ Gem::Specification.new do |s|
30
30
  s.add_development_dependency 'bundler', '> 1.17'
31
31
  s.add_development_dependency 'rake', '~> 12.3.3'
32
32
  s.add_development_dependency 'test-unit', '~> 3.1'
33
- s.add_development_dependency 'rubocop-rspec', '~> 1.4.0'
33
+ s.add_development_dependency 'rubocop-rspec', '~> 1.4.1'
34
34
  s.add_development_dependency 'sass', '~> 3.4'
35
+ s.add_development_dependency 'sprockets', '~> 3.7.2'
35
36
  s.add_development_dependency 'rails-controller-testing'
36
37
 
37
38
  s.add_development_dependency 'guard', '~> 2.13'
data/scripts/test.sh ADDED
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ EXIT_CODE=0
3
+
4
+ while IFS= read -r version; do
5
+ printf '\n\nTesting %s\n\n' "$version"
6
+ bundle exec appraisal "$version" rake db:schema:load
7
+ bundle exec appraisal "$version" rspec spec
8
+ LAST_EXIT_CODE=$?
9
+
10
+ if [ $EXIT_CODE == 0 ]; then
11
+ EXIT_CODE=$LAST_EXIT_CODE
12
+ fi
13
+ done <<< "$(bundle exec appraisal list)"
14
+
15
+ exit $EXIT_CODE
@@ -55,7 +55,6 @@ RSpec.describe NsSettingsUi::SettingsController, type: :controller do
55
55
  let(:setting_params) { {value: '5', default_value: '6', key: 'matching.cluster_size'} }
56
56
  let(:params) { {id: setting.id, setting: setting_params, format: :js} }
57
57
 
58
-
59
58
  before { put :update, params: params }
60
59
 
61
60
  it 'updates value' do
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  # This file is auto-generated from the current state of the database. Instead
3
2
  # of editing this file, please use the migrations feature of Active Record to
4
3
  # incrementally modify your database, and then regenerate this schema definition.
@@ -9,17 +8,16 @@
9
8
  # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
9
  # you'll amass, the slower it'll run and the greater likelihood for issues).
11
10
  #
12
- # It's strongly recommended to check this file into your version control system.
11
+ # It's strongly recommended that you check this file into your version control system.
13
12
 
14
- ActiveRecord::Schema.define(version: 20151215081718) do
15
- create_table 'ns_settings_ui_settings', force: true do |t|
13
+ ActiveRecord::Schema.define(version: 2015_12_15_081718) do
14
+ create_table 'ns_settings_ui_settings', force: :cascade do |t|
16
15
  t.string 'key', null: false
17
16
  t.string 'value'
18
17
  t.string 'default_value'
19
- t.datetime 'created_at', null: false
20
- t.datetime 'updated_at', null: false
18
+ t.datetime 'created_at'
19
+ t.datetime 'updated_at'
21
20
  t.integer 'value_type', default: 0
21
+ t.index ['key'], name: 'index_ns_settings_ui_settings_on_key'
22
22
  end
23
-
24
- add_index 'ns_settings_ui_settings', ['key'], name: 'index_ns_settings_ui_settings_on_key'
25
23
  end