kuroko2 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (493) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/config/kuroko2_manifest.js +3 -0
  4. data/app/assets/javascripts/kuroko2/job_timelines.js +32 -0
  5. data/app/controllers/kuroko2/api/application_controller.rb +4 -4
  6. data/app/controllers/kuroko2/api/job_definitions_controller.rb +32 -3
  7. data/app/controllers/kuroko2/api/job_instances_controller.rb +1 -1
  8. data/app/controllers/kuroko2/application_controller.rb +1 -1
  9. data/app/controllers/kuroko2/stars_controller.rb +2 -2
  10. data/app/controllers/kuroko2/tokens_controller.rb +1 -1
  11. data/app/controllers/kuroko2/workers_controller.rb +1 -1
  12. data/app/errors/http/bad_request.rb +1 -1
  13. data/app/errors/http/forbidden.rb +1 -1
  14. data/app/errors/http/unauthorized.rb +1 -1
  15. data/app/errors/http/unprocessable_entity.rb +1 -1
  16. data/app/models/kuroko2/api/job_definition_resource.rb +13 -1
  17. data/app/models/kuroko2/job_definition.rb +21 -8
  18. data/app/models/kuroko2/job_schedule.rb +1 -1
  19. data/app/models/kuroko2/job_suspend_schedule.rb +1 -1
  20. data/app/views/kuroko2/sessions/new.html.slim +1 -1
  21. data/config/initializers/omniauth.rb +0 -1
  22. data/config/routes.rb +1 -1
  23. data/lib/autoload/kuroko2/command/shell.rb +1 -1
  24. data/lib/autoload/kuroko2/workflow/engine.rb +20 -16
  25. data/lib/kuroko2/engine.rb +13 -11
  26. data/lib/kuroko2/version.rb +1 -1
  27. data/lib/kuroko2.rb +3 -1
  28. data/spec/controllers/users_controller_spec.rb +1 -1
  29. data/spec/dummy/config/application.rb +1 -0
  30. data/spec/dummy/config/environments/production.rb +3 -1
  31. data/spec/dummy/config/kuroko2.yml +1 -0
  32. data/spec/dummy/db/schema.rb +10 -10
  33. data/spec/dummy/log/production.log +0 -0
  34. data/spec/dummy/log/test.log +83663 -48688
  35. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-n/-nVLleZkc9Phtx7NysnIRsi-dAjmzF3G0uUxlLCVbE4.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0x/0xsiR9lRJ4Qggt0ZbvepJl1NuG8PKOEMP4bVDbPlHGE.cache +0 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/19/19XimkHZv2CjL_kEn9_Vc37gyvYi08Xnb50RzTecVvY.cache +1 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1D/1DYNpFLhJHq5lMZeqR_dHWYLNOXX4r-WQ2QvBwRrqjg.cache +3 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1E/1Epk0waeS4x7dxjecHBwG_EsiTkejWW2w8eOYztAkbQ.cache +0 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1_/1_yj7VStVkWN7GVZtdzRBfA-CLwkDcma3OaGZx6b1_4.cache +1 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1m/1mytehBAY58bVbmGlRijgWQ9KPjAwsuAAg6YJFmzqkk.cache +3 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2I/2IBSaI15gZkJXI6N4eJgP9uO-BZZEanod9JqLaObfUs.cache +0 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2c/2cjiH0g4fzmrb_jtWT0KRvQTiV6AyBGY-25xfgvA7is.cache +2 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3n/3nOiaNKJaUezoHi1446-V_VYuUu-ZRNp_-O7oQcWiX4.cache +1 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4J/4JABzsXBwsLe0szCgOnCXpcHcYQWM6o8piarsMn8SIM.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4b/4btvnPRWgZPz0DBEc5DJ8Xq1kr6u3243eM5SLaQVw2M.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4o/4ouzUYo4B_DveubbaZnS0B5DQhf3oegR33_cSvxNfsE.cache +0 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/56/56N7rG50lSvBsPWBWNOT5_RPD5dJx-Yb1LFLyXduKxY.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/59/59Zuov7_nMdj5WW7IGd-4193mRtpxE7Ef_q6oqGBWCc.cache +3 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5I/5I00lzOddfaPUVGqk28aCJ8Cdas34LJTKG5j0zpK-Nk.cache +3 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5c/5c0i0GqZZVrLGf4BRvWZ4fHu208DgrknUhiBdOHdVOg.cache +3 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5c/5cNqDxnhf7UuUdo46PxkH5E3j4anFmk4ZYm6q2mYCmg.cache +1 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5h/5hOrnu_AhQ9oEiQNWuNcIsU0zBDtBRN_OVz9zNDRLiY.cache +3 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/5j/5j3hqB0CZ5IngdHrSNL739youYdtqHXS1658QomxfAs.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6f/6fAc4sE31NfPOY9E6UOOrMppoSr_Tv3C2qMhdxHD6Fk.cache +3 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6v/6vzOYfH8N2u2X4SL1PMnlX4C2PJqnPBFMjC8nMtXcp0.cache +0 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8D/8DmolkC6adxffn3TTZtFT0vcFK2HcBFXVmFgvVhxC9c.cache +1 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8Q/8QjdjZyAZnwBXwQ4FjV_yM_4wSIIBkttC4WBRE-lZbI.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8Q/8QsN981zwCunldmrdpqmgfnEcA0cqi4HzS5ulUNI_MQ.cache +3 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9G/9Gwr44VFfnNd9KJlq3tdTUenREktwWU3Ym6rio5DMGQ.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9L/9L5E8PobY9QhbFPeS1I4WHDqrsembrAHIsk3m3_lhj8.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9a/9ai7VSK5Y2XuLnFt8qvQ3cvIfD6otB0568UwJ1KeM3I.cache +2 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9b/9bEW_UMasJ2a7-RomcQ9N67xttE2O2T7g7oGUagvbng.cache +0 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9c/9c9tS2i-yyLPK7TVehH6T0ylh8n6NYJ9sli0ojmccFk.cache +2 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/9g/9g9ws4ASBiUA2H-Xjw3eqwogbQFjAQi4MjDMnTntRak.cache +3 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/A8/A8jFz3sXV0k5iMCH_GTM7U7fWa3-X_hTRqr3KV8kXFs.cache +1 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AQ/AQW2gYN6YPCHorHQqL0lgnrg3MwDwUWjYZnBM4OiHfo.cache +1 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/AV/AV_rxu6SujBQHIiJ9tLzp59RdQSwe-pG0VN0eBTEHw0.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ad/AdH6T6NtAFBXt5jv267EklFQPoWIZB8VD2ShZzd7Q_s.cache +1 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ad/Adfw3eF8HqjhNHWoCe9358yekCVZK-n4-Y5UbNYcnPc.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Al/AlH3UKSBevrDqp5bY6JnrGAWoO4wughF8WDO3Jqs2GM.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Am/Am5jAttCpzLSdKtJY0WXVNa7obR4GRN6JKjRk5rKxIM.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BF/BF_QHlvp8sBouzXPbRdyEEIv1Sc9obcuItRU3gflpWI.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/BW/BWfPrpf3sFvd19c12Ucg2O52oPuQgg0hx0t1_2-Dvik.cache +1 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bn/Bn9US6KSqSqSFKeVluyoQALM5JvbtkUGymKWWX69H9Q.cache +0 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bt/Bt8-4rZGuCDmgRj7t3U8h7b7s3G1vyhUaYn0vREhfl8.cache +3 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Sh/ShLq6eL3AxBbFZlF_E8S2DBjvv7wF50jKj2-Y_mfL5s.cache → v4.0.0/CE/CErAO2AeQ3NEEBArMdUORXM_33CCLdtNk4Lj0CwDXCU.cache} +1 -1
  78. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/CK/CKE4LRPW_5tn7JtybrEaoGqMLfiA02yW47pP1BUQF28.cache +0 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DQ/DQLfs6RNO3vmaaljIBUODpaWyjob1j3GuFCetLS8Rzc.cache +1 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Dd/DdmzzAlBWit80BWwoY-cZEuGjacYgkX7MqHiBmA6gtY.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ds/DsC6vRlrv_uxS1HoFiTcejGjKz-jkcX1ku3KnfZPruk.cache +2 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Dy/DyF_XleNYpVp7oB_5mVUkxROuTcOIkWYul_s25gi3Eo.cache +1 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/ENQaezKlcW-3bTYrz9h8COD0ENlk38wDk7Qk2qRwmPk.cache +1 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Er/ErOWRf-mJMWrsSqryPIu71_4-BTvj4h8clZqsxrgQuM.cache +0 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ew/EwD9gb913ryeiBDeUuKS7EJiQTmwMFJDs0YMGbt3ZAY.cache +1 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ey/EyEjq7cAnZyHYRmVRvr5YitB_77YX7RW6ENzCfU9hYE.cache +0 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ez/EzW2oA1cg1bMjcmcyxPpoS-SEc5eXExyQpTbLt074xQ.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/GC/GCSZntiAOg8hW-SnFENdx_IDBti2L_DcldznbaY_eqg.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Gn/GnnOSd6-0NTSRJK3wlQg2DHCruhP50Kb7VSgLIKdw5E.cache +3 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/H2/H22eiSkCM9O5-b-QcXr_leBWnQzfIp2rtcZuZV1vF2A.cache +2 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HB/HBZhSZLTDBzTWS67evqryj8DFwQDOaoQloTdOphjMsE.cache +2 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/HY/HYrQJUH36TXDQzABknH8YNWWhVlKMElFGH_uBn29RZE.cache +2 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hg/HgQfiERmV6HVQplxA1pZ5EpeBZNh6zIwv9Wl8GYdf6E.cache +2 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Hp/HpvG9TfWyIlLG7pB2pOFs5nSlSmSEF5gzMXIxIlijno.cache +3 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IS/ISMhEhsI9nIvkQhW_ARQyzf_fdb2Q17X2KzNNEbNn6Y.cache +3 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/J5/J57xb1g_Qy7qRtIRrSvGl6FJRBlmd4XS9MgKJIvPCXE.cache +1 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JB/JBRY4SkSvWFwXjZcyKYLW1TrJCT2n1OAnauRbHxGnPE.cache +3 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/gT/gTaXC95jhDb5hLlohbAvCo3S-vW-kRxmZVt5ikp2Bos.cache → v4.0.0/JO/JOw8GBU8lAt6h1CcuApKgCj0xnSfRyOVOdCtwE6MHSs.cache} +1 -1
  99. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JS/JSokg19xFl5ZV-EBSMFQ0hKqgVSFlLBJUlkuuV0aurE.cache +2 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Jc/JcTwArXXNgU02XX9FziVaeFA4ExqfBMfEx50S5AJMrA.cache +1 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/K2/K2Ppu4s2GARrF2TgPLwNcWF_ZBPFNvYuLlo5SQbqMeA.cache +3 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/K9/K90QK39Uv-ymwPG7z1Rkm4N2BcTrlx_YgnaRrgeL1DQ.cache +3 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/KG/KGTIOgJFGB0NLsfiWNOiHhlvgfX5QKj-pqem4FgDUd8.cache +1 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/KX/KXo_c6MXUOG3i1DgAHYedLLtFAl52ZLXT0NDzFLGR4s.cache +0 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Kc/Kc5uo4hZ3ddHnk97IwXXH2z7RT3rg31Nlzi1zOg3Og8.cache +0 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Kw/Kwy5KVyojytjBhBCHgDQCvMAGSpzZvVjrFOOXhQaUt4.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/LQ/LQb22_hZVPHFUZkhnHBQRmoyFhnxCagj73cvG8ntasM.cache +1 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ll/LlFsd5_HkhzhpEQGGVP6rjqmcYRN8paYWUS_8jj93iQ.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ls/Ls9PMR2bY5rK0_DMULi4QJC5NHCxppv_IJ5AyberiXU.cache +1 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MM/MMmZEmWMtwdRE8fBYhDOs6HRfZsB7MMLARX0b_RcKRk.cache +0 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ma/Mag-uXD50Qc-s8BDyJMbzfALvnl1e9t8vJtZiwTmIoo.cache +1 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/NC/NC20s5H6x7iTfthNfNjkQ6Sq0uEFQPaZWd6kIomzhJg.cache +0 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/NW/NWhgsYtyMcOMFLbmV5mm7wssCBDeTtmPbriFPYsx3yw.cache +1 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Nc/Ncbi2jvzcW_e3zuwKA2-PKgq52oo2OVnBoz7hoWI-L8.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Np/NpU7Nm3t-9bT4pyi4u5LBTccma1I-q8ukuDCt0u7eUI.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/O7/O7ZTI0DK--mcDxnp51vtMo9VJydICJqMvl_NDVaJfa4.cache +1 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OC/OCjourEQwIaB3OxlQD_ZvN32BD3bchjSRq_LeRyMxdQ.cache +3 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OJ/OJ7FySTZ8kNVpn1USfx2ktpm_v9yogYFW7iSvXVNa5E.cache +3 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OX/OXVwWXoPvYlD1nwxXXZa_cKS5G7HjHxJUrZklTyjDkA.cache +0 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Od/OdbqWy43NbhpqXyAGJHSgd1vNkBF_uciYDA_jCevyOo.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Oo/Oo_MqpGXDh7Wcxlvczc-mMnOF5INO9P6Z-Ieb9jnqtg.cache +2 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Oy/OyBYayNTj04raBYAljrdkZyXUeJdXC_NfGMfogiMyzo.cache +3 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/QT/QTrIeJn-pYKs-FXx9ph9vsXobkfZAJICMBI1DL8w6uk.cache +0 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Qv/Qvx6IL0jT1UJljpBkC69ocL0c2gf0Bu41QI0AUwAVYw.cache +0 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RN/RNl0KiMCsNouP9CxfrdcH6QEbfqMzTdJnH36ti8Ia-0.cache +1 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ra/RayiGVBsPP8D3UmM_hndAPtsdrS8Rz-fuLzABic53-I.cache +3 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SA/SARsttl-p_-FKOJ0vqfwkooSY164nVOjk_AFeNjViCY.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SB/SBBWFPm976F1dZwT-5vvSSzGhp2zPH7Uj9mZch758m4.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SD/SDDlAHygl9YOWGozkgy49pL_pu9NBcUvD3X-Kzw3zOU.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/SY/SYEGM0lAn8vG3P7jLmOadAZDSdbVCXQ7Ug7PYcVbfjs.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Sg/Sg7FyaHzMUQX8eL-WBFrZMWIvA_A8EHh8nuvca-uas4.cache +2 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/V0/V0dxqZAiCjDH97cgGYNQW3bcaw7UKmtL0qZxEwx_d0k.cache +1 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/V8/V8QYEiXwGVaRq8uA5WgY7tsoLg67ymvXjbWIZD-2534.cache +3 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VH/VHzVZq-MLNr2jKGSZ8tHbbwpQgBOu4q3BfcYhKEL4Fs.cache +2 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VK/VKiN1px7RSbQtntU3CEhx7byZbjKmhnSZex8_2k9taI.cache +1 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VM/VMO8Vh27dikEP7y89knoIDamnl5sR7R9SkSTVUFDb4c.cache +0 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VW/VW_3QeCC0Jw0K6a65nBbPv6RHiD1m4yGBMT32wMM9pc.cache +0 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Vv/VvBzbPeYuQ0yNM1nbPYiI6zGPlA1H8yMpW4aDw012LA.cache +1 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ww/WwxbksXjppem_zmGQpFRvXw5LOEcU5FlVOIy0mX5Y1Q.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YO/YO2L4m5Nrni_NmkoMN8x9ondVa_C2kc2ETSDTP87Pk4.cache +0 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Yd/YdkFK-14Zx5-FuGEUwwN7fSyIQr9fGiJEPfgRTWPfqc.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Z-/Z-fwQQClDyXIsFtIXxFDpr9KQ99fYq4pZY0_3HM8mP0.cache +1 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ZT/ZTCF1kP-Iu4EODhE2AqGcBywyLvBBbFz47N6kYBFEdA.cache +0 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zv/ZvMvmiLiyzXhDSu7MLMGRTQVYMA5WcG8PySF3yptY0U.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_K/_KzowsojiPo3PkriAMNUzz4IoNaBBet-BuQpb20mnkU.cache +1 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_T/_TRnoLh27iLB0yqk4kj69-l5kOGDzKP8fQ_3_PW4u9U.cache +3 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/af/af7raCkEIQGInTF4suAidpU53BXRQBJ-6Mzh0z9BrhI.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ah/ahdX85Ai7IYhIAeI-dEFOiJCCdCgbS_PcTrl9N6DrgM.cache +1 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bA/bA6ShDwZVjHsznrgn3VHblQZXjXNl_t7hvSfz1A6Ae8.cache +3 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bZ/bZYGav2dJPn7nEhY03ugA0I66TotNE5uIUnRYfVu1GM.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bg/bgVpjKGd4T0AKT_F18epP-DJqPkjSpin7bsNiXTIiiM.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bp/bpAT4kIVNuOzBtnbzSo5nDJXI255Snmti2m4oZjkIu4.cache +0 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bx/bxbYMm1s_53WihevWzqTcaJNRxe0ciwbWLrAEi1XOMc.cache +0 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/PM/pm7o3mOA72sb4VMJXzwpbZC0qqKhBnMmFpJL2efOkzo.cache → v4.0.0/cL/cLxLNep9UtBiICkrQL-nWjEpesjg4bje1YVVuIyOrAk.cache} +0 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cT/cT9YoqUlsSKob0ocAyGJOMX3y7447UlsG3TgsxvEY-0.cache +0 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cw/cwZuOzuaaIr_PsPU_3ZBCDJMl-qRY8U95yBzQNfAfzI.cache +1 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dA/dAetG5785yz9fILZsg0N4eir3oHVTZ-IO1J1VeKDDMY.cache +3 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dV/dVbUU-7AXii0ainw8VYUiQI4KfFOJYYYsROXZKXJlJ8.cache +0 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dw/dwQYft-AME5V28VPEGpL1h22hzwMU6EinlJf-rKaFIA.cache +1 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dw/dwf0poOoUdRYMg95yxRcyMdxnVC9r3XKYoSNFPomg34.cache +0 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dx/dxZKsPBvGd371vuKYS0qufYxECKzV6CYsCKEzOAAPos.cache +0 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/e6/e6RP1uy__n4bh6SE2-nbVGLhtjy7mWfntvLCDDQi3uI.cache +2 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/eT/eTw36ZirOq_Tdhijd7Oru9QHYzpC6E439jiAstgzz3E.cache +2 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/fA/fAGtaBqki2eIWenC2OmmRwcrlz_JpHQqFI9d-q0SE1c.cache +0 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gD/gDhCD_sqGNjBg5w-UMXF9v7MoPncd_JlborTEhPqd6U.cache +0 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gX/gXSQI-zqVrfokmEoiyPOv2l1n7gT_csCPtkpux4JFok.cache +1 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ge/geUh63eQKJlKR16KgAwJwTNNDrnx1jdyRyOK4vBBE8s.cache +0 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/h7/h704-jhvmojXx4xEHxzBVyEbbHFY5KuoCtMzb13wQCo.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/he/hekaQp9fQvksCAOy5fmgqJYmqxrkId_-TU-TNfUxY0Q.cache +1 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/i4/i4l07WzuOoZFGVEpcjlBgRCYLNN435frr-auV-dMtDU.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/i6/i6rofLkmn3YJ6ZUwexhWRDHiGoHt6YxXLyRsX68zWYw.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iF/iFnWtPRmjfPla9thWy5Jb3aFyegdyKMT_R69GKUuWJc.cache +0 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iO/iOLDE1GZjWoqXRKUDxH6pVto37G57MPAr1KTTys7Eu0.cache +3 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/il/iln2815x8yJ5wjZwloLgWesje87Xcgujki7tZGsxX34.cache +2 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jT/jT1LQatgqWnO7zm9Stn7VaTMvnCIBL5EGJlf8nO0XZ4.cache +1 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jT/jTWRaRYTfkb6Id-OEFHFQdR6W3dwGBPe6LzbrjJ9r8Q.cache +1 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/jz/jzHmNazaRA3Cb7ac-az9wf2cfqPphGklWPTRq4oIW-o.cache +3 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kG/kGxeN3sAuVNs7vrpPKUSfY6l8VlBvmOrTyYBgkbU03o.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kJ/kJY2dIfOuUCrJ6FXvhZuw5xis5VMQty7neSyhQr-Mmk.cache +3 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kJ/kJox-BONGUBe5n6qyJ0el4PXjLf8jSjaXFv50vDfiaE.cache +3 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kz/kzodOAecqDm8TPDB5NjCJXhZaccaK3ZBGpMqXJBX1Hk.cache +3 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lA/lAbzj7Z7dEjaik0HZbsz5I9LiAwfmbVAL19RyW07Uxc.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lJ/lJTE0CdUXoFbxdtOtZqEffVKyTM3uYAP-A9Hzk62ysw.cache +1 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lM/lMsQ4vQRSzR2nj5hD7c7ZVbT41iYdBMT3SmdQXexKjw.cache +0 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/l_/l_XTDV8AZ62khUIhw-r85TjGTHpjhrx8ctYyxwaZJjc.cache +3 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/lz/lzTZ0G7xed3rvrDJHwN1TobxPfW6GDOE7_KAEn_7mM4.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mi/miG7-yKi6GtzTIyCUa1DbTTe7X3E7xQaNGRY6qAsBuM.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mm/mmkdFGeqf83LpPcZYNiPDs3Ae36SnudEbi9H3wYvH_I.cache +3 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/mu/mu81FXlp4xy4KM0HLmRDbDj_s9lBsb4o88PoHxzejU0.cache +3 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nA/nACgU4hbIX-kFhnaVz19GQJ7NYYiwFBRYIpTX41AsX4.cache +1 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nk/nkQP4CRXfI650gsGXTzpq21MpGjh_UmqMqwfUKgSx-Y.cache +2 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nn/nnll_37iQQAGYQ_YrnahlDmGqFOKgnIqcEs5fzp-mNU.cache +1 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/o5/o5m3u96MzPEJHOPBRRy69DvG-mVjraemcXBm9s7IGf4.cache +1 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oV/oVL0NiCoE4Do3GX-6MRJ-e2AzTveeCG97fJookBDWIg.cache +1 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/oa/oabUzZ7u79DBCsDwFvzvJlgdH8K6_ndk7L77QrsWX0o.cache +1 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/95/95VD4NK12CS9slT6lisXUvpKA8jyPvSHDLa6W6ZMuQo.cache → v4.0.0/pP/pP2_MSHA2AAwH07uC-a18o-1_HiNUykzMKeeqeM2QyM.cache} +0 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/GY/GY03z8ax1l5xbSX0WzxsS_IdQ9ioDbi9gA0kdXXE-zQ.cache → v4.0.0/qD/qDIqBEpTYfWFm4UASzLsyR3jwTl0AdhpgBgAuwusdIU.cache} +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r5/r5Pr9CcYDmatVTNwoamN3jz5hW6bEGybRgfutzr8Feg.cache +0 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/r8/r8bblyoY9lAnFjdrkMBtndFTJ_hQlxcjx8UGGV6uv2A.cache +1 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rR/rRjtX1xXGM10FY-d3Xm_ayGI4BzXBdPkR70NizmkUBY.cache +3 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rU/rUOl0XsDIdOVHkzip_ZnlO4aPmrMdW-aZRcNMYnIPXc.cache +1 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/rv/rvnT8iuwJERI6r9660-qwHVraQIrsLDuKhYhICMQOGk.cache +1 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sU/sU-R8aee0LHfDr0uN4c6SZA1XaJY0aLrscWII905eO8.cache +2 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sy/syQq50SQpCIHndIVHgL-qE_Bjz-o5dnyjGcFpOyO2tQ.cache +2 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/tp/tpOnrZTiBB2xC28OtCtSyChfcYNHECpIpY1ZzdQco4w.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u0/u0Rqf34QIskf2bM5HNo2PzORPMLcgpvU-DMQYOcDLb4.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/jm/jMas3JFNsCko4KBvyEChE66FDUv0Jneix5xjqdvr1fc.cache → v4.0.0/u1/u1goef6SIGMqdRfBudA1sJoZ5yOp909RW80UoqtXRrY.cache} +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/un/unCjzfLyp4uGcu-CeXba8p9YSniq2CGHDGjR0BA-LOU.cache +2 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/un/unaov11PP7W1C0pusvTXjGLNvHayY85dCAsPcCTjJHE.cache +1 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/v6/v6Bnsm6nOvuCcQ23Gn-z_l0Xgp7Dlc9KTZnDndYaBKA.cache +3 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vE/vEehw9eI7JOR8yN9zST2KqrA0NEhBGWjUMIUK-FBrqc.cache +0 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vF/vFt6S5P8OT6S-YJztNkULpD2U4fmBXq3-LHuh5TLf2E.cache +2 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vF/vFzArk2FKQ8vKnpy0Mq27EfLX1o0XU1--3KS0kwNMoQ.cache +3 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vG/vG7KJ2kREbRefcn55Ad8b9LuS0Oja9kLlUy0TXhy3Mk.cache +3 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/va/va5Tyw_SH0EcJ5U2hinW5o9jq2ekEpZS2bYlyamPoWE.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/vb/vbTrwVWDWCxbP5DSlL8z9kUHTy0mMtD-HvNTVEftgCI.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/w7/w7zRIc7fJb_7984ocXFcz8F92XJdUFOw4AOJFKNHdLc.cache +1 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wR/wRns16zeeq6feYpEdHT1tbqQ5qbnfSOFFKMndNxwDR0.cache +1 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wV/wVWF5fvWrku3OxljJZFt0Qw3B2mo_h8XWQ7kmcuPx8Q.cache +0 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wX/wXytsWRBqsY0leHlN9YZKaqcg96bcBWXRi33TvekEQ4.cache +1 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache +5 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wl/wlD3SfuXu5C_toCzZxhIBafGGP6YT5G7XSLx8d8cEtA.cache +1 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wy/wyC3CohYlw3od-NUt68JEyuaDSwNCHOxzzdIKLxIlKI.cache +0 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x3/x3pFyDFtDejnk-PkRfCY-0jtnExUtVWiFx4zjYJKggU.cache +2 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +2 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/xR/xRjCgjbPewhzZx68KAamopN-p6iX2eyIoSeiSTJQ67c.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y1/y1N5FebsmI2Fn9P32yhxdaKThtTr-JDrToRyI2xLYPk.cache +1 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y7/y78sa4Vq_ZTDzTpviEynApgSdXXCccknkZ-llEdIYfo.cache +3 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zg/zg0EvI_WprZ0ehFzfL4h0LQSTqlXjLojs4tNfAoJpCs.cache +1 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zv/zvSGJ7e_jxlVPt94qzaDC9ZuaTCbrMx_RlmKRLfTAHU.cache +1 -0
  232. data/spec/factories/execution_factory.rb +2 -2
  233. data/spec/factories/job_definition_factory.rb +0 -1
  234. data/spec/factories/job_instance_factory.rb +1 -0
  235. data/spec/factories/token_factory.rb +2 -1
  236. data/spec/features/job_definition_spec.rb +3 -1
  237. data/spec/features/job_instance_spec.rb +8 -4
  238. data/spec/models/execution_spec.rb +1 -1
  239. data/spec/models/job_schedule_spec.rb +5 -5
  240. data/spec/rails_helper.rb +9 -2
  241. data/spec/requests/api/job_definitions_spec.rb +238 -7
  242. metadata +681 -686
  243. data/app/assets/javascripts/kuroko2/job_timelines.js.coffee +0 -24
  244. data/spec/dummy/config/initializers/new_framework_defaults.rb +0 -23
  245. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-V/-V4PEKvtpnve5ttX3300ZHnHnKfozMiZiE04fgXdqD4.cache +0 -1
  246. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-j/-jnSbvOxHiWZDXsAb7QlB16JA9UmY4L5GnZGEWMIG1A.cache +0 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-o/-oD4Ex6mKawR9TuC6tul5NLMGPPIOsr0zpUNIZxLIFE.cache +0 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0R/0RJHU-Hcp2G6kW1LdT_3RoFIrU6Jgx1qL4A3aS54V3U.cache +0 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0f/0fU_-ndBUC4-lnhfSZm9uFbCF7xU1GxFOwLu5pZhj08.cache +0 -3
  250. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0i/0itmdY988X3ehv53uupvF-bah1LFv_XY7yLz2PeGr80.cache +0 -3
  251. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/12/12Zg_FDEs6KXOqP85LIZGpv-O13AZlox6vJMxF42qMA.cache +0 -1
  252. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1T/1T03yqTwaG-twAkgCdgpdlo1fJC4D4US4-7_UQEMVsA.cache +0 -1
  253. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1y/1yuq0FZXFzoGEsxk_BIQ0XwshH5fqvPqX6XyiyIBOlU.cache +0 -3
  254. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2I/2IG2FEJx6Omti7L3b0M87PlqNj-ybf2VFn4zMc4RjSw.cache +0 -1
  255. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2J/2JfeQvP9YofCpZ25Hjww48pIjxucTTiScPppMF5IhrM.cache +0 -1
  256. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3E/3EVyxbyZ91hSrrjTEHQQNQMP2WQjCBfEgn5WzJ43wvo.cache +0 -5
  257. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3I/3I5B-TCq-8W2-CUl9ubAbbvElA0lk1shrxFTNbjFHLI.cache +0 -0
  258. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3T/3TnOqQSD3Br3aOoPa1ntlW5brpnjxXv9d3YFiIut-Y0.cache +0 -4
  259. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3k/3kNcqwg-5JQ1-4ToSYWtk8i8_kA9QtlbNJQyC1gtKQI.cache +0 -3
  260. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3o/3oE56b5gezvnmdOpyKhxChLuraoJctmb7Vq_Yzp0w54.cache +0 -0
  261. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/41/41GzYAwd2z3tOVGWp4RzghE3FrBERlNjkdrkDh1YyKc.cache +0 -1
  262. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4F/4Fh6AWvbvpypix-B5fgV0YBsuqGe94jYASSEMQCUArY.cache +0 -2
  263. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4g/4gxLsIIIM_tsD2coOGyzzq7pQ14pUaU76g2q7zX16NY.cache +0 -0
  264. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5C/5CZoxjhVdN7O7bGlWdCqYU8faFjfcINOarg7Uw_zisA.cache +0 -0
  265. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5T/5TAQnGFXCP0UOoiCMMKogoZx_EEkYNg2y_ATbEnBr4A.cache +0 -1
  266. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6G/6GXtrCpKgr3TtC65anF87yCWTZLuIYz_TMhayHi5cCU.cache +0 -1
  267. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6b/6beWLWE9YWpfsQ3oW7LF0eC0HI5ty6_Bdtwnq4J_gys.cache +0 -3
  268. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6d/6dDMUwHmJxum6CGn7TlXf8bRhK3EXKU89d2ey9z_at0.cache +0 -0
  269. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/76/769NkKmzuiGFeU2UzvYBHppvKKwGJDtNSASFtrszBLo.cache +0 -3
  270. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7_/7_lpCUlxs9t_TPR9Xv-Vfag-HWtvoIVMCkaPbei-4-0.cache +0 -4
  271. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7m/7mKTvK7Rw7OSlMWrqmlVPnUdA_PuwjT8vW565fG--cQ.cache +0 -0
  272. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7t/7tezOlaSDPjDiENO0LtUKe4QQGq6pnxfxoyoRU5lnfk.cache +0 -1
  273. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7u/7u2uWGI-lv_qe1mjY_5hm2j2lcU7WSoaTRPXZGAThKE.cache +0 -3
  274. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8f/8fSmmZ7X4JWKBt87RoXSbuPhNmK7ScLAxgB0Zu6kJIw.cache +0 -1
  275. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8n/8nhgteGMYNnap2BJWPhdACUAHN45DtibjsnSeXYUrss.cache +0 -1
  276. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8w/8wi64jrFGartgt0Oraw7dm0ER8Epzl9G-16H0z3vPxk.cache +0 -1
  277. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/96/96bnPcf1o6qHLxJ0nI-zJPyUQZDoT_SAfYEJ4eRKkdc.cache +0 -1
  278. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9o/9oqnZPukvtOqWzz0pWw3MLvOrtTk6epKoBTmRcWvidQ.cache +0 -3
  279. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9x/9xuWdFvldsRyY8FQgfXlQX5Tn_Uh30r2qxdxKhdMMOo.cache +0 -3
  280. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AA/AAwTAS7dWqN8Bfwaw4ld_-24IP5yM06LANb4s50tzxc.cache +0 -1
  281. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Aw/awzx05IVKgMawQ-t0iXwxoHQ7m2w87n54HDvZE_9oSs.cache +0 -0
  282. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BB/BBwteFIMuQD-oPh8uFI2kqQb4ntj1Tjr_s6gL2FF6so.cache +0 -0
  283. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bn/BnFhCQ3NT_aY_9bNQJPG7vWcN29WO2ZTdp3O-AEzjcU.cache +0 -1
  284. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CA/CAItyklQtFSMljMVFaKTOpYyIfIfp4X_vxdK0ETNpCM.cache +0 -1
  285. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CO/CO8R9KaKcX67iMhc3Qnu3muNyogrOv1omvFaE8hYMns.cache +0 -1
  286. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cr/Cr68HXPBTlvwZ-0VUIIJ1NKXBhtEss7kPYSUKJPFI94.cache +0 -1
  287. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dc/DcZ-3scGdITQvz1RBBNJuNiUD7cSKREJMdjmtRaWcbo.cache +0 -3
  288. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dj/DjCMbC7piOrMT0zCpP8wpdGo6BFQC1qeWhllKIkNb1k.cache +0 -4
  289. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dm/Dmv2WwiMfPsQ91uPbGGmGwGY8oXAILumxreytjtSIs0.cache +0 -4
  290. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dr/DryUDqF7ODZawaLX1PT0Dw3LahpWGzysTr1aEdB6B-g.cache +0 -1
  291. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E9/E9LtdX_tSpgMsIqYG8iefZUtnsafItlbYOX6HisF2I8.cache +0 -0
  292. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EF/EFixqqfemCFUYkjk29tmgkNu2YWtICmyzgJ1Ye1-pKk.cache +0 -3
  293. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E_/E_bOrzPpGOLkYr4eQco7mMhCjq9RaW7LtP-bB_PyXLo.cache +0 -1
  294. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Eb/Eb0N4WU7i0xsqjdSoJd-WJMfJjsFARxr6gO0mqiI9H4.cache +0 -0
  295. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Es/EshWRfhumUqJ8h9cv_4kR6zj-WP8cXXu2WyeH_a6W8I.cache +0 -1
  296. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FD/FDjXqNhYpDNg463R8R0tFvstLiB6OuqrMsHXSvw3kug.cache +0 -2
  297. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FT/FT7FA_GyIxgAD-ojFgZHH-7mZWAUBpPfSq01IEs-f-Y.cache +0 -1
  298. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fm/FmsHk822uy1AYk-P4G75oyZyXzHgJyeFvhq4_H7R2qk.cache +0 -1
  299. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GA/GAcwlaMNeYarkkBu03z50sAGZnew-Vpmm1K146PJRw0.cache +0 -1
  300. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GG/GGRPD-DbIzIArIyb-qMZ8mUVUDeGn79svEXu-MgGJkw.cache +0 -1
  301. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gf/GfIs08xlQ1GtGt_J8dxY8o0NzDkyXvuJPRYJFBgjuO8.cache +0 -4
  302. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H8/H8eMLMDdcQaeHmaEsXI_TelN_BLYiHDIldopAJSEsOI.cache +0 -1
  303. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I4/i40ut662BsuByhEdZfYKeQLI5p0Abx1AmT0scf8bfiQ.cache +0 -3
  304. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IJ/IJKGx9Nsf4oPCNkPC2_qa3dL2pN0FfYHiU-gH__S6hI.cache +0 -0
  305. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IS/ISaXgIfpElhJeaH8_plVtkwIhSPwrK9chiaICBSb5VI.cache +0 -0
  306. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IX/IXh5XLqKnk3w45UAFEaHpnQoB0Twi5vIeNtRIl1GyUA.cache +0 -0
  307. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ib/Ibih90usQ4qDU_AuspnET-f_K4-85dLduudjVfdVwfY.cache +0 -1
  308. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ii/IiM180cDaKT-mCUe0gUiCbN2uXwc1p0D3ZTVqs0X5oY.cache +0 -1
  309. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JI/JI5e0nzAx9AeulXf_-8g1CRvlIsvsSU5RZO5oRPVFIc.cache +0 -0
  310. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jt/Jty6nKVMAfzbeh4gTv4wFTCFBjctDk1n0t05a_Bli_I.cache +0 -3
  311. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KL/KLQ0FXszJZUet7NsYEJvTPud_cNelQzTWRbNtzQxn5o.cache +0 -1
  312. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KN/KNB2lnlwI0tQImpp9jbQfcIWc7y_HtzQLmsmsDmTWx0.cache +0 -1
  313. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ko/KoszyOCTdpBQFs90XxvYjAbKTfO3b-dF1NpKywAxYI0.cache +0 -0
  314. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kp/KphtyPhajCBaT-Rgf_2FNboTHzkW7ttPQmCll7UvqXA.cache +0 -1
  315. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L2/L2lIM6tWW4qv5jCIQrMqkLEWwoQQi_jPI-Z4hwy46Ks.cache +0 -1
  316. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lg/LGuxA38klNtXjTcev595OlxZqT2RVems69hTZ3AAzNM.cache +0 -1
  317. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MD/MDYlPuXH2dBTVEEvMEX4txUIPOd_ar8EqYEGBwPClb0.cache +0 -3
  318. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MN/MNEk38onskIpzRhJV7R3G4x8JRwuvf3RrAI5_XgUzaA.cache +0 -0
  319. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ma/MaipkbrAKB-rEt2V1uqUhRmDH4IKBQqWtpjEzTUnkWA.cache +0 -3
  320. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ni/Nikc5QrE-F2hoTsKL96znHZV1RH9FiCozr1htYpcON0.cache +0 -1
  321. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nl/NlnfrxxB2g9PTqslx3fcfqC83DoXmV_Tyzx6VVLLY7U.cache +0 -1
  322. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nz/NzY3LPTFN--h5ti_ujAiv2iSGYabK2mDcFaZ5d47fy0.cache +0 -1
  323. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OD/ODFNhmHmmMRargTAIUisk3NmyhA_aT_yjPQnKnqjmqQ.cache +0 -1
  324. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OO/OOLgnpcuGQZDFq3NYJKUyKgLn2RWTqFlNgnr6l_4iqs.cache +0 -2
  325. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O_/O_imAtHkQXhnzDEFSDLezvNEV2KpFFouGEwrgbxf2RU.cache +0 -2
  326. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oa/OaDczLkXE3J8gBmvH8WM6CWx9hMwaTe72rpa9j5I6bs.cache +0 -0
  327. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P3/P3VlOu2bJUh_sh3yoRBwPhKFqeXyECBRC2W1HTV62M0.cache +0 -1
  328. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PM/pmTC0Mf76gZmh6XbxYhFRO7y5p7hDdX1P2o0t-tUJdg.cache +0 -1
  329. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pj/Pjctdh5wk_A-NEFQLZsp7m185QOKjPT67XIgJorfjHM.cache +0 -3
  330. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pz/PzvW-Ucnx0eIfv_L24PVI6pMf2mkCoh8I_VhUVUWAKk.cache +0 -2
  331. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QG/QGZZlKbR_qYawg0lowBI0Umc4ngP-M1gBV6h7OuBnOo.cache +0 -1
  332. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QS/QSMC4GllpyP-dZz-fO0VcP-ioa8aimQcHImcEV7Yphs.cache +0 -3
  333. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QZ/QZ6feXDzHiO49wMsCrIdxA5qMhdedmUArrRQQU7oZos.cache +0 -3
  334. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R6/R6AJrH3OryYvT7a_obGEA61X9RsMcKpqXxizt4T7i_I.cache +0 -0
  335. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RF/RFSfU-VaK7dpj0y00No8zN9tEE2IlTxb3l_sfgk5tJo.cache +0 -1
  336. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rl/Rl0ApUIOjfTAP6pomIZ9r_0G90ZxQW3zJ2_nYgwcA9Y.cache +0 -1
  337. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rn/RnKqmJZXahp__mV0LThrDlxv2WH1Qhafr3RUj0D2tYM.cache +0 -3
  338. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S8/S8a3XuUJNRx0OgKmPuvTADbDEXDSd38SvKmLTNZiYVM.cache +0 -1
  339. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sh/shbP97smIxiSEFLILxdQEsioDSF7FrsgtOLvWabeS8k.cache +0 -1
  340. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sp/SpkxrurvBhdYr7pj1T95FXqcNXZcBu_-nYWrzqlSZ3s.cache +0 -3
  341. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/T3/T3XdvzfM5AjeYUy7_LFWnqtyGRO5MygHj7XblYPlxl0.cache +0 -1
  342. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Un/Un7EFAj2Hg2ixP7iakQ_gaKIH8HXKvLPbKVlKDjNxlg.cache +0 -1
  343. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Up/UppZuxTzwf5BIErmNlh7q9PGIiJrpeBJOUwBoKuTZY0.cache +0 -0
  344. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Uz/Uzo1ct50K0TO15NEQdm3sB9CUCcvusBKQW_okqexfM8.cache +0 -4
  345. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/V5/V5XO52_sPjzdnWLPISYgtV0p4Zx-Mv3dx3Ge44Aaylk.cache +0 -0
  346. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VG/VGdh_5ojICd82Fmqog2IhU9Spl9M3ewOo9w5me503Dk.cache +0 -1
  347. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vk/VklqcTds_8sTl5U0kit32Ph3xjtt6c64r7K5bhNTv3k.cache +0 -4
  348. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vk/vkE_vOntLIWuhYm1tSKiEjRcyzeoLA_spK1m069R4d4.cache +0 -3
  349. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W1/W1lFtcY2YMlPN_UHLOMNGDdVft91Bw7tv9SHTMYolR0.cache +0 -1
  350. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W2/W2LuO4jSj3XRquqXqPwohbnsXlQxENWAvQjiyCfNYho.cache +0 -4
  351. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wc/WczeswFLb7OnmSguRZpFSIccpti2ZPoT23e-xfpnlTI.cache +0 -4
  352. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wz/WzWM6f18Io-aZN3PWfKOUpNcSoyqrn76zWVdU7_zNEw.cache +0 -3
  353. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xr/XrpjoJOF3WAjpOqkHsTJYdMZOaObHtjXEMIowpiw2hE.cache +0 -1
  354. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y5/Y5FfvwyroSPKfDQ7ounYl8I9Hx1B5RE_w6lqR-jIuRc.cache +0 -0
  355. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YS/YSGIvESc2oiIz7YUmh9cdWB8-tlh5ht1B6wNYeHWXZY.cache +0 -0
  356. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YUZlc5KQqLHp6fW56T6M7DHm_IVcFfsRaRNKMm_a23Y.cache +0 -0
  357. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YusZUdOlrj2ma1QgcizEjlXkDDIjyldByXFAD7RbPcM.cache +0 -3
  358. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z7/Z7og5eIWFF6B0sZSPpjdg0bOU9vjReT62AwCDwCpiV8.cache +0 -1
  359. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZE/ZE3bm0xL2Izg1E1YKqT7qoC82XGqzG-JEbVx-VtfQek.cache +0 -3
  360. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZE/ze6uPiy0R7zsNGO7P5U5a32cjE-2a0MEbavYyIWwPZ4.cache +0 -0
  361. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZS/ZSEZhGwevNlRn08qUSx0VPHk0CWL6yk8nlcPKpUB-BI.cache +0 -30
  362. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZS/ZSQw0ooiUbUIakEhmhiyD-pPFrjhyj1vWURER_zRVls.cache +0 -1
  363. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zx/ZxIeFm6XzidjVVREk-3ApRgpWutesIAH6NHt30F_D_I.cache +0 -1
  364. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_3/_3EUg4cj46me5lKy6mhNqxwPk-OfAOOpvLnJhEloYaA.cache +0 -1
  365. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_T/_T2eDdTr8XHBVzDevzuM3WvmPiDC6cuAHaj7yAEPP08.cache +0 -0
  366. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ax/axIunhJWmcM-Xb3ehx_K_yy5Sru4q321V2cj4lWo580.cache +0 -0
  367. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b6/b6LCiXFJjRVcCq4DStR43qmSbgXU8duX_eSzGpmNkyk.cache +0 -3
  368. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
  369. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c0/c0wvnHNNjo4Ui6cEnxOlGD2RaUAzDg1n_5XKxeAGEoU.cache +0 -3
  370. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c8/c8eZCMEtw-VEVLrUDJ30mSNb4_8pzIn69H6LZn_6hKI.cache +0 -3
  371. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d-/d-V_KIbmiG-Kt2tg56yFR0Q4PGvoQ-LyqfgcXK9_g6c.cache +0 -0
  372. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/e2/e2k6WLJegZu6ncdI-i56OhURAEsrOpbejSdri0NArGo.cache +0 -4
  373. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/e7/e7Jv639m2w1_l9Y3be3_PoOlM9NLTPnBKasLy2BLgDA.cache +0 -1
  374. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fG/fGkHmuIZz_ZfSN1qeKNPDco0Ucjr9QCKvcF4RrnYo7o.cache +0 -3
  375. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fR/fRubVVfBjMmJDCTyH6TAqEnu6EAt8V3e74yGRvHPT6w.cache +0 -4
  376. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g7/g7f1hg6QUq6Dc0CmByfZjU0tIlf70hZqFtzYU7CHOd8.cache +0 -5
  377. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gO/gOy7BQ5CKlPszgfTBP-ffgoFuZH0V2MCOlbYUy3y-s0.cache +0 -1
  378. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gW/gWwBL0sQmDbEwX0kcneGHqfz4TyJ0HNKFNZzvs6Q9WQ.cache +0 -1
  379. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h2/h24fuR5regYcErLpi9sXTjyiSa1kYo88p6yoMj51VMY.cache +0 -0
  380. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hJ/hJ5Ao_IK6NGZjy22CuL6SSbDAXQQFP1W22NJTc6N-Yc.cache +0 -0
  381. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hW/hW7FzjHfFHclW8B4f_Ss8za00nFw1J_RtmJe-3Ql6BE.cache +0 -1
  382. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hn/hnYufopoVP0YG2-S-AoQ5Pj2C0u9mEEGNIet0dTu-B4.cache +0 -1
  383. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iG/iG8OObEjQZ1Pi0VoLs9viXjXHorzbRy0n_h3zjTlGIM.cache +0 -3
  384. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iy/iyQ1uO3VVrPI0QDelh9Q4FAtj5vIjMssgOyB9Lm8Qd0.cache +0 -1
  385. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j8/j8DL0wWpJQlxs1mQmtGDWiJXHSdK4-0LEj9NdjNDdng.cache +0 -0
  386. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jm/jmOhrm4xYl6ccTCmSKCQFsFWAQU8oWbFFBDn8u2JY_0.cache +0 -1
  387. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jx/jxBU3PLpWrwnYRzalYid0IA2G5HRFaMLzaQMB6ps3kg.cache +0 -0
  388. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jy/jyvWEULq2TUqwNEJaNrZmfy44loa84BzCy-2upQMH9k.cache +0 -0
  389. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lD/lDWxv9k_laHAB0uwNHzHIrQOa1wT0LMrWarfTzdawQ0.cache +0 -4
  390. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ly/lyv8WglH464jd9__d-P2k7KdvOsxNeRgzTLxrd6mLQk.cache +0 -4
  391. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m2/m2bzsifa-R9VmOkIbKXtC3sHgmcpfrRok-T8s7akDJI.cache +0 -0
  392. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n4/n4d8nW9-rpG0bjEZtEvuLdROTRmc3bUVwv_C1l0PUkA.cache +0 -1
  393. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nU/nUTHdwW4gj8UXJ-L0tFH8eyyIQ4Kl1Sdy73LXPLdxGo.cache +0 -0
  394. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_58CWv_DdZtEtn90oNzE1ZqAYU1Pe4bAm4eZgY8l80.cache +0 -3
  395. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/no/noDkC3rPSAdbaYuAg9xiAsPna_m-y1XtMdlpc0YWr0I.cache +0 -1
  396. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nq/nqNO5MABjjRZ50eG0aTv-ubUHxJavsRDGH0_SmQxmSg.cache +0 -3
  397. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nv/nv4TghHrVkm-Rt2wXtGnQloirsl0LrkKtz_6pY7PoSc.cache +0 -3
  398. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxhTiz-igl6ZL9WuTAoRiAQgUuHmboFPIU6t6GXbA3s.cache +0 -3
  399. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oB/oB50K_61pZIFaE5QvjWFdUwwbX_N9WT44cLAVf_hjyk.cache +0 -1
  400. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oR/oR6joOP0JkGRVgiENUwyuokZBJnWPJBdOOoOAnGOXtU.cache +0 -2
  401. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oc/oc7EQ6-bS_5ZO47LOIZx1D4gF9CJQf4jYLMXmU4JuW0.cache +0 -0
  402. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pB/pBDvvaf9El2sxrF0tbR-a6OS1t5gfrF73B_JvOkciUI.cache +0 -1
  403. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pR/pRx5_gNv9tonqgdN1jNBSILnbRCBPER7Qt8-KagDeyQ.cache +0 -1
  404. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pU/pUGiGoduKuuam5EAVUUYTYfdyr_1b1OrhZDJhRsnJX8.cache +0 -1
  405. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q9/q9ylhbQkSlZnplqFwg0vx0LH9-5rYbssZHcvycmnn2s.cache +0 -1
  406. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qd/qdT8KHmolI5PRoXaIkZDWuqLeAf2hnE2TAbAazVDe2o.cache +0 -1
  407. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qp/qpi7Dg_Eby_M9QT1--ub3eoBmYX2VQGeFSJxwNvRsOY.cache +0 -3
  408. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rO/rO2yj9RLWNN5d-tHCiR_9LDonNpDQa414nMgahth3rU.cache +0 -1
  409. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s0/s0eN4YdyLSacxMlmmXxGpWRKrJcLoAgLkcAKvgiQBxE.cache +0 -3
  410. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sR/Sr3dkAjEE4scCu2ibAWz4glMp_kk6m0uvAZA-gKiyGQ.cache +0 -1
  411. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sR/sRu_5zgoN3qAQqGXKnOXlnymg4v-HHT7rmtWalOYT0I.cache +0 -1
  412. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/se/seT6SJ3QGcJVa5FBX8g3R7qPGgGSAq0_7Pzx0SbePqY.cache +0 -0
  413. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/si/sipR68T7yrpzoKa0V_wJnbZ5gDzhOZS1Cje0OSSmZLY.cache +0 -3
  414. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ss/ssl1coDNws72Go0mAQ9kX1pfJL9ljN58nDGQ3iyBerM.cache +0 -3
  415. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t1/t185hh9NkNqKlH7Atni_ZKLn-5cXFZS0YwYoRxfF6Ps.cache +0 -4
  416. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t1/t1CxrFDX1Wk_hpd4bgMx035yD-TxjYYtBvesyvr0Jz8.cache +0 -3
  417. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t2/t26QbOl_mRZOBbikDrey_Ir7W7ySsbYmtq1SpFOv2Ac.cache +0 -0
  418. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tR/tR27XsdMdsHQtXVA6i08hE2iIIlcygT4Jd6idNwfzRA.cache +0 -3
  419. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/te/TEfIVAXadwbur0x8SXbzMHL38F-bqJLv-fKyOG5fFVE.cache +0 -0
  420. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/te/terkENNSxEP7zpMYtjQKoBmA4yhiwAEfYpbtUK6Oi4Q.cache +0 -0
  421. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tn/tnIbr8AgLtA5J16HU3BKlEldiWZMHOWKObHvDelI8Zo.cache +0 -4
  422. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tn/tnq6NpG4iBHGTBFAyv8tNSujD0yTVK7q6dPZIdA1etI.cache +0 -1
  423. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u0/u0761kCKTzen6gvn0PsFE5PKfgLpa256oIctYl_oTwg.cache +0 -1
  424. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uF/UFyrEZkHPF_2nRRkadXodi-JOiqEcqEZsRqnN60kz-E.cache +0 -1
  425. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uU/uUHpDyaGr2Ag2aNOYan_0wPulc448TPr-bO9uiWZILM.cache +0 -0
  426. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uc/uctS5ws7zHpOr-YZnIA-_PlC_qHck98hwMmThCchCMY.cache +0 -3
  427. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ue/ue34IcUoi3GmAF0UpKvRiaICqh_gkbvq-qSKWtwYWGs.cache +0 -3
  428. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vH/vHogb85kBD6TQWVdFofiiXuYAYt2xpdqZVcwGtmjGic.cache +0 -3
  429. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_kVFO1a9IsFKxoEkH5Fw66Pi_VRqA1wB_KR_12XOmE.cache +0 -1
  430. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wW/wWTtidGuHrgeKnVnmeoqMYuvB1d-Kvlj1hXppPUvVjM.cache +0 -0
  431. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wi/wixHHXU580BNAyOooeAr0WeSqDAa72vf-QG_aenUD1o.cache +0 -1
  432. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +0 -0
  433. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x8/x8I6IjifUCSixV6XL1fjtcZXrgMWQUPtRzqICTtHgu4.cache +0 -1
  434. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xN/Xna_IPVS-byfPBg3MNMDPDCoP7lRc1KehJ51F-wP628.cache +0 -1
  435. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xN/xNfurq62qGfdPJWg5ozFceonZV51Pr9w4c05e8eliq0.cache +0 -0
  436. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xb/XBJypoo4U0NzE83wTTK7FF1HYjyltbMApa-Aa4iQNww.cache +0 -3
  437. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xb/xb5J-w8vcn5U0-aT2m9CuLrKz59P5sUtTTFcqBFXXpE.cache +0 -3
  438. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xc/xcPIb1U1t9gsYpreHMek_KTP6tOKHl-kP-rdT3u-N40.cache +0 -0
  439. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/x8/x8dZYRSVu0ahRu6aSrBsT2wrXIUjWSndwk29d0K3T0M.cache → v4.0.0/-e/-e8DY9JeEdjdY9mp8JyEkjpJvzpDgQ1JOYMrmDaVPR0.cache} +0 -0
  440. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/X0/X0wq4S3mdoEd2TfALFg0kXclEkzSQ_sNhdSbN9hUOX8.cache → v4.0.0/3c/3c7wp9_FChTOXLFgD1izZeEBZ7Nik0r-ZTys0cJ8oCM.cache} +0 -0
  441. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/vx/vxoTWWNUi35Dn8dpSTSXWRf9X-qMD2BUj5wICE1t1kY.cache → v4.0.0/3e/3eho7_Ba10qw5kIIlMEih8pIj4FxY4BGVhrQYuNmr1c.cache} +0 -0
  442. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/4N/4N1N5T5hWNABIdpzVCu-eGU9h1veI0pN9rQQmawRk7s.cache → v4.0.0/42/42Zo-Kr6dmr_c6deLw8fGrrOnrqbgxy_Lwsuv0oSQHo.cache} +0 -0
  443. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/9c/9cSH4dbzSxvkJKBSG7SIdHo1lHLN4LKJJy8pht78kmI.cache → v4.0.0/4w/4w1adsDx12O9pKDbfW6_-AoBDSkLpr3Z-OwzbFdUd38.cache} +0 -0
  444. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/8q/8q13WRlqbNjIZJP2bjNxXn1jGFtv6bNP1GejPHumoPo.cache → v4.0.0/Do/DoqJsnvwwQZc8xqsfenJhl58-XK3w4aPwGjSS9zMsxk.cache} +0 -0
  445. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/0f/0fXDzSgUu5BkOsSHqhOP_3sV-4g4Gj_GbcKUNsMGWGI.cache → v4.0.0/Ed/EdC1FNIKcnysgDO-BOO6vblGxnndVbOL7KumW82CJCg.cache} +0 -0
  446. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/_y/_yzoVq4zgAkwpUkO2Ddagooa1jupi8AqvZcf_kgNnxE.cache → v4.0.0/GP/GPu46v-hMFq2gB02ZK-1tFwOWvGIAlqi-61GGTV6UYk.cache} +0 -0
  447. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/3L/3L0-RXjuusQmtHn9D3xsh_BVgHNeRj3qa47BQybQPR4.cache → v4.0.0/Ge/GeD8GS4wHXMjViUbf7-sH5m3KVEetVzXDI0GdOp1Kz0.cache} +0 -0
  448. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/az/azPWFqs407rmZd5dNKyH0Y531721XLs9SEYiEAo7ygE.cache → v4.0.0/Gf/GfZXxJZRP4sOEdKkvQTGdjA2aZ5U9_OH2D64iO7L72c.cache} +0 -0
  449. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Aw/AwBkO1aJuVb1_HfZ0bXrjjsj5xkUXH6RZFJOpUTRju4.cache → v4.0.0/Gg/Gg18YGaS0kA6Qw2ef2C2LKGLF-eX62ydM47gqHrvRro.cache} +0 -0
  450. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/MN/MN7Co_EvJ4W8vkFKpOzMPo7OdXsWahSREJos6dv_ud8.cache → v4.0.0/IB/IB1wJsiYMoRqqhghEqlQswiQg-bii-fAuwOi99Ezj7Y.cache} +0 -0
  451. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/CL/CLvTeYR2KgWvYLneP-vlptvdodg5lhpMGgsDU38b5G8.cache → v4.0.0/Js/JsAJubLvOkGNCoyRi5gTmh5BScDhKzpYt6N-OxFPPzs.cache} +0 -0
  452. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/OK/OK0AGCnr8RIlhuOVWatJRgO3saHd3sPXHDRUCjFHXLk.cache → v4.0.0/K7/K7QzPnR-MUQ8WWfcQnzB3XcLsmQqx80-2SCwS8cudvc.cache} +0 -0
  453. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/nS/nSpT_wnGiW43lh5afpaec4uE1QkBp4M8gW6-R65tSrc.cache → v4.0.0/LB/LB75MlUKcJmSW8tauWfu8iPYObtw3hlE6A5_jbnUKRY.cache} +0 -0
  454. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/vO/vONSWxdHZO3KAsbCcfxYbNxxF8QBFF1RDcF9yvhZjW4.cache → v4.0.0/M5/M5bbpLqDPgq1KVkqIr8OA4pdRpohPKxd1PhONoOpPiM.cache} +0 -0
  455. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/AP/APKSMmtBhYJRZESK1J_rA0tW2sMWg0KrbZRR103lLTM.cache → v4.0.0/MD/MDvr-uoXvlkscna-BoY-Ocr4Eapf0o2Kp6k0TmE5f_8.cache} +0 -0
  456. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/ln/ln7kFt6JmjcL_dNrjswRheUdCqXV6n54g7Yx3HqFo7E.cache → v4.0.0/NL/NLBYj1pWi1Zj8kYsWWNbbp3m8Wssp29__wve_LDIkpk.cache} +0 -0
  457. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/O5/O5N-VGd8O75lJpnjGUqNylxu3TvC057WtlSSb3q7UiA.cache → v4.0.0/Oi/OiYJP5ce2tcbNG2X-FyYBiBxQuQV6gM6AClzf2xk2gk.cache} +0 -0
  458. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/W-/W-arAMn58AIj9vR6PntsruIyj-64-SaiLpAHL17weDg.cache → v4.0.0/Qq/QqG6S1dJEarkCirPPDR9khkEo21Bt_5CM9fZLuRyZas.cache} +0 -0
  459. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/km/kmWd2Oq-DpuXYLlviZD7Yh600KyRAcHJGIB6DKAaOwg.cache → v4.0.0/Qu/QuEL3nZ9INh2XiudGDpESFR7JjRCdOoh2m-1nUzKpC4.cache} +0 -0
  460. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/hS/hSHu-Zt9M24WoApx03WbSge9U-fK3vG-8spFPHuwFV0.cache → v4.0.0/T3/T3M3NPUvw6TfCrsU2xMjAcRgArPNMGvKbkH9AsZovoo.cache} +0 -0
  461. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/7j/7j4TqRor09CVPrWTQOO63iS-jCICLe9FjldiiR1L0cU.cache → v4.0.0/Te/Te3sgDSr8KD_H7xyQK3MZBfnl-BcoXHtMXBjLLs8vGw.cache} +0 -0
  462. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Sa/SaxbxhM5MlffxTMISOhCo-lZaKh5a0iNVEaAxuXW0lI.cache → v4.0.0/Tm/TmY0IKEqhZEJYXr_WlU_FUj_LYqZSdBiFuIjsI0fN-0.cache} +0 -0
  463. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/PM/PM9F7h-tlnA1uu5OYBoDfg_D1mKoTZjhaOEEp1g1ctA.cache → v4.0.0/UV/UVBoCJoe2T1vQ6qE_s-KbhHaCi8ZXgNsUDRKoX4mLKo.cache} +0 -0
  464. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/oi/oi3E2nJfeaImRMl5XcgysjIuojZuhJmj3K4l4ahJcvg.cache → v4.0.0/VV/VVQtjEx_97Wfm4CJmCf4mLkg75t6l2EY_X92nedi-mk.cache} +0 -0
  465. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/hn/hniiyocC4Udfo4cyNJ4rGySOdBsheoFwv9gTIyhwvus.cache → v4.0.0/WZ/WZl7CGiTGJMzI6M37FbaNPQN4Iq2me3qsbkAa3Jv-Zk.cache} +0 -0
  466. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Bl/BlVcY-BoPpLGZ1oA3bv2pzorpcE59ft6wD3UuhG-pjY.cache → v4.0.0/Wv/WvbAgxF1EM2eIlf9_XglGezF_DxYSFWu7wu993FFAgM.cache} +0 -0
  467. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/n_/N__Ar1HByE_IV4nW8DHCbQFUgCeqbZVAltxp3IVTl3k.cache → v4.0.0/Wz/WzLa0xr-CeCO26bbkzNECltHGaYUSA_9ylpyiaqsxTI.cache} +0 -0
  468. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/f8/f8w0dn4QliXyFBgt322GEX82JfiUPyfI6lLtIZNz5b4.cache → v4.0.0/Ya/Ya8khbbHeZmFvGzSVqRJJXHdm-19BpCm5SWQmOEGzLk.cache} +0 -0
  469. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/QI/QI8aqM8uSlvvlg8AK7MMfGgpY1CdkfH58HobKFgRkQ0.cache → v4.0.0/_X/_XiuUYsAEi34QK3OAvibouBOnJGal2KTCgpyqXz8eLU.cache} +0 -0
  470. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/I4/I41fWHzBM4j90Dcm5FiS2qGzgWsLWLjHYnETwMFuOv0.cache → v4.0.0/cD/cD0Yb-O4FGZAXaB1sevJPkZdhOTg5DHxPaQntRADkzk.cache} +0 -0
  471. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Lg/LgRugpeeQZwnBUDqR6bxaLl4hYpO7ESbdK8vtr4RPWE.cache → v4.0.0/cR/cRE8y75bPbpjbORKGvwxEEfUCZuI5neveafFGCE6vVQ.cache} +0 -0
  472. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/4d/4duLwsAHgJ-E8S4NVZbFdHSbZmHQNN3B-it7l3LGr3k.cache → v4.0.0/cT/cTDKxii-pk-gbU-bPD7sH3y9BJKwJaIn8r9LAzR6Ksk.cache} +0 -0
  473. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/3Z/3Zxh0O7PtTsXidm6ptUPJVtNFPhKTdREo4NLOBpzT7M.cache → v4.0.0/ct/ct-36hjjBWYyFhiFsQq1H42N_XM3nbOFIiV33sR7C1M.cache} +0 -0
  474. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/sG/sG84XSPzINJvFPX3diQfl3VBRyQc7xrginobsiMrS_Y.cache → v4.0.0/g7/g7pzW_ELmhqGDSacL6f9PzqbMpYKSdtbAESo_0GvoeM.cache} +0 -0
  475. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/1e/1e3kRQkF1ikG0Ibja7d4QtDCKo86qEpRGzw2dxvK2Y4.cache → v4.0.0/hc/hcplgyfFdSeH0yQpyqMT30I5nEIh4FlArN8oesRprY0.cache} +0 -0
  476. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/4t/4t8rJwQYRIH3Qfeb4Z6dsPAEBCcb0cpwP-90XgrKUMY.cache → v4.0.0/ko/koEOGdVrhsar-GNrQSBhF-YH7emQuoWMqOoYFQvqkBI.cache} +0 -0
  477. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Dj/DjqHk9ComgHRF4QmhviQrLhYwM3aKifgLKnO1Xq9u6s.cache → v4.0.0/l3/l3hUvSsDaQSK3oSSLmYvBlnRCR3j13wdd9pn01aSdks.cache} +0 -0
  478. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/bo/boKD8StvvodGLmPUurs4li7SJkNLcEpvyt5SlDzu07U.cache → v4.0.0/lY/lYsOIowTBKQ0BnzNZsRiJSJ2LC8irCsJSBm5c-peKKQ.cache} +0 -0
  479. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/rI/rIeFMrnj2ET38fy4WkuDsV0ooF6hY945MKqyQx8P1Cg.cache → v4.0.0/lu/luHsrIwNBVY4AT4fLp9y_tsxYG2PKJmGzI_emTHmxMU.cache} +0 -0
  480. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Zn/ZnZJ-mC1RS5MjF3F5SdJne_Ih2ovacEbZsd1WPn_A5Y.cache → v4.0.0/m6/m6lG5-TnqrmrkDztz-qRF2x9KSfhGpjeLxBdzm0ix2o.cache} +0 -0
  481. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
  482. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/Lp/LpcXV0TAKdEjOM4Bqjq-EZeO6V3gurKXmRUF4J6GEC4.cache → v4.0.0/n9/n9JHX90maGJ4pTpRZQBbzct_NDZgdZs7ArLiqlwnOAg.cache} +0 -0
  483. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
  484. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0 → v4.0.0}/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
  485. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/uF/uFl1r7q4WzXFFb57Th4pqa1BVw4rthJwZUtpe5D0Rxs.cache → v4.0.0/ot/otQJA4FltF0LnTSBJHV4kFL84mbJHE7XhRQvFB-fpXo.cache} +0 -0
  486. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/M_/M_6Lnc7aW6y4obtRE86sDa6Bmng4OIzOqRUooJMFl-w.cache → v4.0.0/po/poGz7X_PHTd-JD5jfA-oN_9i7pLL_z7QFOecGUZz8io.cache} +0 -0
  487. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/iu/iu_fmvsxA6R_mkMFAQjVLtTUpRxPkLfrFlqnzqrhYOo.cache → v4.0.0/q8/q8gKZnePEzfw5ICzv90oB0hzGIeRCK6_oA8o_G4Uyzs.cache} +0 -0
  488. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/gT/GTWT-fTZVaDmgD5l2fqvNUAz6NwH7xvCQHOIMoMoxbY.cache → v4.0.0/sr/srg6X4Q7OaQnQa7OjIRUlMSEDlF91ZQ6EDBvMvgPeAI.cache} +0 -0
  489. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/kS/kSz5_PvIlceL9-5mxLPZAUVd6zNR6psVz42SQJbqn34.cache → v4.0.0/vD/vDuuczh24p0MH8t-lg3RU17X0ZTpqanjpdL4Z-2DNr0.cache} +0 -0
  490. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/M4/M43D6imMwvZIaewtHghmo_pibdyeG7FHnUFQTDidqi4.cache → v4.0.0/w9/w95tr7n_pMvmQYTJnIKOVPsLeGf7NuxepU5Mji88npI.cache} +0 -0
  491. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/0D/0Dbu4K4McLliRUi2oJtUYXKCMVjbnf9E0XSu98cuE4A.cache → v4.0.0/xY/xYr8aSYQhdbMi41UITsH1dlElJGQe25tA7enovKpUZo.cache} +0 -0
  492. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/3c/3cgkQvINe8NZ7yKK2HU3l5EYDKikTqwkV52iVaNSKoo.cache → v4.0.0/z3/z39SVrGjwfIIgbKm8RMng1sBAYxZXz1c8kx0IL-OqHw.cache} +0 -0
  493. /data/spec/dummy/tmp/cache/assets/sprockets/{v3.0/kg/kgslLbGWVUNtHcEQKKhg_mDamtfpeg0Wfs-C1gBMRzU.cache → v4.0.0/zW/zWbh2vBYtFFlbhWxLRbwZUzj0H69qzNYbzl_693g46s.cache} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfcadaf2b1bd36d21380f2faf62256b0244bd2d9199bcc6f95c4d6e8b3e5536b
4
- data.tar.gz: a339592c3fa6884dc1d733362cef38a47827f610fdb0419d2d8a8a0ac14f0617
3
+ metadata.gz: 0dbca2c6d6e477d98cfb6148007365028b63c7902bfe028968dd0be9a969347c
4
+ data.tar.gz: 6718f15b2ca4bda2d6527249561cc57357ab225c90f0a881a1c32663af021b82
5
5
  SHA512:
6
- metadata.gz: dc0c310342212a93db236282b450e25c69e933db0030d951f14726773f2c7132da9b8aa2f563503b9b78c672895a50bbbbca2194abd61d6d534578043fa9873b
7
- data.tar.gz: fe37bd666f6b3d88243a9cd3b01883cc42802101e1bf2c22b17027bb8148634e5f5013a744e4598e5519a22a050666251f0bc8f69bcf5fedff6dd4a6d7bd8dc3
6
+ metadata.gz: c622f1a547644b2a7bfa0f2d399d9b94a86d8dbf12be28f51a45c4062a4c175c70525aaff62d9ba361a168abef058ba5fc109795d21a5de2d6568b4edaf228a6
7
+ data.tar.gz: d68b87b94dc13aef1b93b447941a818d7c1f3721691ad430d40434cd267a79304cba3fe90dfb07289d76b5cd5db9e485ae9155c48e3032fd6e9cb3422b166046
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Kuroko2
2
- [![Build Status](https://travis-ci.org/cookpad/kuroko2.svg?branch=master)](https://travis-ci.org/cookpad/kuroko2) [![Gem Version](https://badge.fury.io/rb/kuroko2.svg)](https://badge.fury.io/rb/kuroko2)
2
+ [![Build Status](https://github.com/cookpad/kuroko2/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/cookpad/kuroko2/actions/workflows/ci.yml) [![Gem Version](https://badge.fury.io/rb/kuroko2.svg)](https://badge.fury.io/rb/kuroko2)
3
3
 
4
4
  ![](app/assets/images/kuroko2/kuroko-logo-horizontal.png)
5
5
 
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images/kuroko2
2
+ //= link_directory ../javascripts/kuroko2 .js
3
+ //= link_directory ../stylesheets/kuroko2 .css
@@ -0,0 +1,32 @@
1
+ $(function() {
2
+ const datasetPath = $('#timeline').data('dataset-path');
3
+ if (!datasetPath) {
4
+ return;
5
+ }
6
+
7
+ const container = $('#timeline');
8
+ const options = {
9
+ zoomable: false,
10
+ orientation: 'both',
11
+ order(a, b) {
12
+ return a.end - b.end;
13
+ }
14
+ };
15
+ let timeline = null;
16
+
17
+ const callback = function(response) {
18
+ if (timeline === null) {
19
+ return timeline = new vis.Timeline(
20
+ container.get(0),
21
+ response.data,
22
+ $.extend(options, {start: response.start, end: response.end})
23
+ );
24
+ } else {
25
+ timeline.setItems(response.data);
26
+ return timeline.setOptions({start: response.start, end: response.end});
27
+ }
28
+ };
29
+
30
+ $.get(datasetPath, callback);
31
+ return setInterval(() => $.get(datasetPath, callback), 10000);
32
+ });
@@ -7,15 +7,15 @@ class Kuroko2::Api::ApplicationController < ActionController::Base
7
7
  respond_with_error(404, 'record_not_found', exception.message)
8
8
  end
9
9
 
10
- rescue_from HTTP::Forbidden do |exception|
10
+ rescue_from Http::Forbidden do |exception|
11
11
  respond_with_error(403, 'forbidden', exception.message)
12
12
  end
13
13
 
14
- rescue_from HTTP::Unauthorized do |exception|
14
+ rescue_from Http::Unauthorized do |exception|
15
15
  respond_with_error(401, 'unauthorized', exception.message)
16
16
  end
17
17
 
18
- rescue_from HTTP::UnprocessableEntity do |exception|
18
+ rescue_from Http::UnprocessableEntity do |exception|
19
19
  respond_with_error(422, 'unprocessable_entity', exception.message)
20
20
  end
21
21
 
@@ -43,7 +43,7 @@ class Kuroko2::Api::ApplicationController < ActionController::Base
43
43
  end
44
44
 
45
45
  if service_name.nil?
46
- raise HTTP::Unauthorized
46
+ raise Http::Unauthorized
47
47
  end
48
48
  end
49
49
 
@@ -4,39 +4,52 @@ class Kuroko2::Api::JobDefinitionsController < Kuroko2::Api::ApplicationControll
4
4
  private
5
5
 
6
6
  def require_resources
7
+ definitions = Kuroko2::JobDefinition.includes(:tags, :job_schedules)
8
+ if params[:tags].present?
9
+ definitions = definitions.tagged_by(params[:tags])
10
+ end
11
+ @resources = definitions.ordered.map { |definition| Kuroko2::Api::JobDefinitionResource.new(definition) }
7
12
  end
8
13
 
9
14
  def create_resource
10
15
  definition = Kuroko2::JobDefinition.new(definition_params(params))
11
16
  user_ids = admin_id_params(params)
12
17
  definition.admins = Kuroko2::User.active.with(user_ids)
18
+ definition.tags = tags(params)
13
19
 
14
20
  if definition.save_and_record_revision
21
+ definition.job_schedules = job_schedules(params, definition)
15
22
  definition.admins.each do |user|
16
23
  user.stars.create(job_definition: definition) if user.google_account?
17
24
  end
18
25
 
19
26
  @resource = Kuroko2::Api::JobDefinitionResource.new(definition)
20
27
  else
21
- raise HTTP::UnprocessableEntity.new("#{definition.name}: #{definition.errors.full_messages.join()}")
28
+ raise Http::UnprocessableEntity.new("#{definition.name}: #{definition.errors.full_messages.join}")
22
29
  end
23
30
  end
24
31
 
25
32
  def require_resource
26
- definition = Kuroko2::JobDefinition.find(params[:id])
33
+ definition = Kuroko2::JobDefinition.includes(:tags, :job_schedules).find(params[:id])
27
34
  @resource = Kuroko2::Api::JobDefinitionResource.new(definition)
28
35
  end
29
36
 
30
37
  def update_resource
31
38
  definition = Kuroko2::JobDefinition.find(params[:id])
39
+ definition.tags = tags(params)
40
+ definition.job_schedules = job_schedules(params, definition)
32
41
 
33
42
  if definition.update_and_record_revision(definition_params(params))
34
43
  @resource = Kuroko2::Api::JobDefinitionResource.new(definition)
35
44
  else
36
- raise HTTP::UnprocessableEntity.new("#{definition.name}: #{definition.errors.full_messages.join()}")
45
+ raise Http::UnprocessableEntity.new("#{definition.name}: #{definition.errors.full_messages.join}")
37
46
  end
38
47
  end
39
48
 
49
+ def destroy_resource
50
+ @resource.destroy
51
+ end
52
+
40
53
  def definition_params(params)
41
54
  params.permit(
42
55
  :name,
@@ -55,6 +68,22 @@ class Kuroko2::Api::JobDefinitionsController < Kuroko2::Api::ApplicationControll
55
68
  :webhook_url)
56
69
  end
57
70
 
71
+ def tags(params)
72
+ tag_strings = params.permit(tags: []).fetch(:tags, [])
73
+ tag_strings.map do |name|
74
+ Kuroko2::Tag.find_or_create_by(name: name)
75
+ end
76
+ end
77
+
78
+ def job_schedules(params, definition)
79
+ cron_strings = params.permit(cron: []).fetch(:cron, [])
80
+ cron_strings.map do |cron|
81
+ schedule = definition.job_schedules.find_or_create_by(cron: cron)
82
+ raise Http::UnprocessableEntity.new("#{cron}: #{schedule.errors.full_messages.join}") unless schedule.valid?
83
+ schedule
84
+ end
85
+ end
86
+
58
87
  def admin_id_params(params)
59
88
  params.permit(user_id: []).
60
89
  try!(:[], :user_id).
@@ -16,7 +16,7 @@ class Kuroko2::Api::JobInstancesController < Kuroko2::Api::ApplicationController
16
16
  def create_resource
17
17
  definition = Kuroko2::JobDefinition.find(params[:job_definition_id])
18
18
  unless definition.api_allowed?
19
- raise HTTP::Forbidden.new("#{definition.name} is not allowed to be executed via API")
19
+ raise Http::Forbidden.new("#{definition.name} is not allowed to be executed via API")
20
20
  end
21
21
 
22
22
  instance = definition.create_instance(
@@ -6,7 +6,7 @@ class Kuroko2::ApplicationController < ActionController::Base
6
6
  helper_method :current_user, :signed_in?
7
7
  before_action :require_sign_in
8
8
 
9
- rescue_from HTTP::BadRequest do
9
+ rescue_from Http::BadRequest do
10
10
  respond_to do |format|
11
11
  format.html { render 'public/500.html', layout: false, status: :bad_request }
12
12
  format.json { render json: { message: 'Bad Request' }, status: :bad_request }
@@ -8,7 +8,7 @@ class Kuroko2::StarsController < Kuroko2::ApplicationController
8
8
  if (star.save)
9
9
  render json: star, status: :created
10
10
  else
11
- raise HTTP::BadRequest
11
+ raise Http::BadRequest
12
12
  end
13
13
  end
14
14
 
@@ -18,7 +18,7 @@ class Kuroko2::StarsController < Kuroko2::ApplicationController
18
18
  if (star.destroy)
19
19
  render json: star, status: :ok
20
20
  else
21
- raise HTTP::BadRequest
21
+ raise Http::BadRequest
22
22
  end
23
23
  end
24
24
 
@@ -24,7 +24,7 @@ class Kuroko2::TokensController < Kuroko2::ApplicationController
24
24
 
25
25
  @engine.retry(@token)
26
26
  else
27
- raise HTTP::BadRequest
27
+ raise Http::BadRequest
28
28
  end
29
29
 
30
30
  redirect_to job_definition_job_instance_path(job_definition_id: @token.job_definition_id, id: @token.job_instance.id)
@@ -6,7 +6,7 @@ class Kuroko2::WorkersController < Kuroko2::ApplicationController
6
6
  end
7
7
 
8
8
  def update
9
- @worker.update_attributes(worker_params)
9
+ @worker.update(worker_params)
10
10
  redirect_to workers_path
11
11
  end
12
12
 
@@ -1,4 +1,4 @@
1
- module HTTP
1
+ module Http
2
2
  class BadRequest < StandardError
3
3
  end
4
4
  end
@@ -1,4 +1,4 @@
1
- module HTTP
1
+ module Http
2
2
  class Forbidden < StandardError
3
3
  end
4
4
  end
@@ -1,4 +1,4 @@
1
- module HTTP
1
+ module Http
2
2
  class Unauthorized < StandardError
3
3
  end
4
4
  end
@@ -1,4 +1,4 @@
1
- module HTTP
1
+ module Http
2
2
  class UnprocessableEntity < StandardError
3
3
  end
4
4
  end
@@ -7,5 +7,17 @@ class Kuroko2::Api::JobDefinitionResource < Kuroko2::Api::ApplicationResource
7
7
 
8
8
  property :script
9
9
 
10
- delegate :id, :name, :description, :script, to: :model
10
+ property :tags
11
+
12
+ property :cron
13
+
14
+ def tags
15
+ model.tags.map(&:name)
16
+ end
17
+
18
+ def cron
19
+ model.job_schedules.map(&:cron)
20
+ end
21
+
22
+ delegate :id, :name, :description, :script, :destroy, to: :model
11
23
  end
@@ -35,7 +35,7 @@ class Kuroko2::JobDefinition < Kuroko2::ApplicationRecord
35
35
 
36
36
  before_destroy :confirm_active_instances
37
37
  after_initialize :set_default_values
38
- after_save :create_default_memory_expectancy, on: :create
38
+ after_create :create_default_memory_expectancy
39
39
 
40
40
  scope :ordered, -> { order(:id) }
41
41
  scope :tagged_by, ->(tags) {
@@ -62,14 +62,14 @@ class Kuroko2::JobDefinition < Kuroko2::ApplicationRecord
62
62
  }
63
63
 
64
64
 
65
- validates :name, length: { maximum: 40 }, presence: true
65
+ validates :name, length: { maximum: 180 }, presence: true
66
66
  validates :description, presence: true
67
67
  validates :script, presence: true
68
68
  validate :script_syntax
69
69
  validate :validate_number_of_admins
70
70
  validates :hipchat_additional_text, length: { maximum: 180 }
71
71
  validates :slack_channel,
72
- length: { maximum: 22, too_long: ' is too long (maximum is 21 characters without `#` symbol at the head)' },
72
+ length: { maximum: 81, too_long: ' is too long (maximum is 80 characters without `#` symbol at the head)' },
73
73
  format: {
74
74
  with: /\A#[^\.\s]+\z/, allow_blank: true,
75
75
  message: ' must start with # and must not include any dots or spaces'
@@ -102,14 +102,26 @@ class Kuroko2::JobDefinition < Kuroko2::ApplicationRecord
102
102
  end
103
103
 
104
104
  def save_and_record_revision(edited_user: nil)
105
- record_revision(edited_user: edited_user)
106
- save
105
+ transaction do
106
+ if save
107
+ record_revision(edited_user: edited_user)
108
+ true
109
+ else
110
+ false
111
+ end
112
+ end
107
113
  end
108
114
 
109
115
  def update_and_record_revision(attributes, edited_user: nil)
110
116
  assign_attributes(attributes)
111
- record_revision(edited_user: edited_user)
112
- save
117
+ transaction do
118
+ if save
119
+ record_revision(edited_user: edited_user)
120
+ true
121
+ else
122
+ false
123
+ end
124
+ end
113
125
  end
114
126
 
115
127
  private
@@ -142,8 +154,9 @@ class Kuroko2::JobDefinition < Kuroko2::ApplicationRecord
142
154
 
143
155
  def record_revision(edited_user: nil)
144
156
  unless revisions.first.try(:script) == script
145
- revisions.new(script: script, user: edited_user, changed_at: Time.current)
157
+ revisions.create!(script: script, user: edited_user, changed_at: Time.current)
146
158
  end
159
+ nil
147
160
  end
148
161
 
149
162
  def create_default_memory_expectancy
@@ -17,7 +17,7 @@ class Kuroko2::JobSchedule < Kuroko2::ApplicationRecord
17
17
 
18
18
  CHRONO_SCHEDULE_METHODS = %i[minutes hours days months wdays]
19
19
 
20
- validates :cron, format: { with: CRON_FORMAT }, uniqueness: { scope: :job_definition_id }
20
+ validates :cron, format: { with: CRON_FORMAT }, uniqueness: { scope: :job_definition_id, case_sensitive: true }
21
21
  validate :validate_cron_schedule
22
22
 
23
23
  def next(now = Time.current)
@@ -3,7 +3,7 @@ class Kuroko2::JobSuspendSchedule < Kuroko2::ApplicationRecord
3
3
 
4
4
  belongs_to :job_definition
5
5
 
6
- validates :cron, format: { with: Kuroko2::JobSchedule::CRON_FORMAT }, uniqueness: { scope: :job_definition_id }
6
+ validates :cron, format: { with: Kuroko2::JobSchedule::CRON_FORMAT }, uniqueness: { scope: :job_definition_id, case_sensitive: true }
7
7
  validate :validate_cron_schedule
8
8
 
9
9
  def suspend_times(time_from, time_to)
@@ -14,7 +14,7 @@ html.bg-black
14
14
  .body
15
15
  p.lead Please sign in with Google account.
16
16
  .text-center
17
- a.btn.btn-social.btn-google-plus href=auth_path("google_oauth2", state: params[:return_to])
17
+ = button_to auth_path("google_oauth2", state: params[:return_to]), class: 'btn btn-social btn-google-plus' do
18
18
  i.fa.fa-google-plus
19
19
  span Sign in with Google
20
20
  .footer
@@ -1,4 +1,3 @@
1
- require 'omniauth-google-oauth2'
2
1
  Rails.application.config.middleware.use OmniAuth::Builder do
3
2
  config = Kuroko2.config.app_authentication.google_oauth2
4
3
  provider :google_oauth2, config.client_id, config.client_secret, config.options.to_h.symbolize_keys
data/config/routes.rb CHANGED
@@ -48,7 +48,7 @@ Kuroko2::Engine.routes.draw do
48
48
  get '/osd' => 'dashboard#osd', as: :osd
49
49
 
50
50
  scope :v1, module: 'api', as: 'api' do
51
- resources :job_definitions, path: 'definitions', only: %w(create show update) do
51
+ resources :job_definitions, path: 'definitions', except: %w(new edit) do
52
52
  resources :job_instances, path: 'instances', only: %w(show create)
53
53
  end
54
54
 
@@ -102,7 +102,7 @@ module Kuroko2
102
102
  stdin.close
103
103
 
104
104
  pid = thread.pid
105
- execution.update_attributes(pid: pid)
105
+ execution.update(pid: pid)
106
106
 
107
107
  reader = Thread.new do
108
108
  begin
@@ -39,20 +39,7 @@ module Kuroko2
39
39
 
40
40
  def skip(token)
41
41
  token.with_lock do
42
- node = extract_node(token)
43
-
44
- message = "(token #{token.uuid}) Skip current node: '#{node.type}: #{node.option}'"
45
- token.job_instance.update_column(:error_at, nil)
46
- token.job_instance.logs.info(message)
47
-
48
- token.mark_as_working
49
- process_next(node.next, token)
50
-
51
- token.save! unless token.destroyed?
52
-
53
- Kuroko2.logger.info(message)
54
-
55
- Notifier.notify(:skipping, token.job_instance)
42
+ skip_with_lock(token)
56
43
  end
57
44
  end
58
45
 
@@ -68,7 +55,7 @@ module Kuroko2
68
55
  Notifier.notify(:failure, token.job_instance)
69
56
 
70
57
  if token.context['AUTO_SKIP_ERROR']
71
- skip(token)
58
+ skip_with_lock(token)
72
59
  end
73
60
  end
74
61
 
@@ -141,7 +128,7 @@ module Kuroko2
141
128
  token.job_instance.logs.error("(token #{token.uuid}) #{message}")
142
129
  token.job_instance.touch(:canceled_at)
143
130
 
144
- Token.where(job_definition: token.job_definition).delete_all
131
+ Token.where(job_instance: token.job_instance).delete_all
145
132
  token.job_instance.logs.warn("(token #{token.uuid}) This job is canceled.")
146
133
 
147
134
  Kuroko2.logger.error(message)
@@ -150,6 +137,23 @@ module Kuroko2
150
137
  token.save! unless token.destroyed?
151
138
  end
152
139
 
140
+ def skip_with_lock(token)
141
+ node = extract_node(token)
142
+
143
+ message = "(token #{token.uuid}) Skip current node: '#{node.type}: #{node.option}'"
144
+ token.job_instance.update_column(:error_at, nil)
145
+ token.job_instance.logs.info(message)
146
+
147
+ token.mark_as_working
148
+ process_next(node.next, token)
149
+
150
+ token.save! unless token.destroyed?
151
+
152
+ Kuroko2.logger.info(message)
153
+
154
+ Notifier.notify(:skipping, token.job_instance)
155
+ end
156
+
153
157
  def extract_node(token)
154
158
  root = ScriptParser.new(token.script).parse(validate: false)
155
159
  root.find(token.path)
@@ -30,17 +30,6 @@ module Kuroko2
30
30
 
31
31
  config.active_record.table_name_prefix = Kuroko2.config.table_name_prefix
32
32
 
33
- if Kuroko2.config.custom_tasks
34
- Kuroko2.config.custom_tasks.each do |key, klass|
35
- unless Workflow::Node::TASK_REGISTRY.has_key?(key)
36
- Workflow::Node.register(
37
- key: key.to_sym,
38
- klass: Workflow::Task.const_get(klass, false)
39
- )
40
- end
41
- end
42
- end
43
-
44
33
  config.action_mailer.default_url_options = {
45
34
  host: Kuroko2.config.url_host,
46
35
  protocol: Kuroko2.config.url_scheme,
@@ -52,6 +41,19 @@ module Kuroko2
52
41
  Kuroko2.config.action_mailer.smtp_settings.to_h.symbolize_keys || {}
53
42
 
54
43
  app.config.assets.precompile += %w(kuroko2/kuroko-logo-success.png kuroko2/kuroko-logo-error.png)
44
+ end
45
+
46
+ config.after_initialize do
47
+ if Kuroko2.config.custom_tasks
48
+ Kuroko2.config.custom_tasks.each do |key, klass|
49
+ unless Workflow::Node::TASK_REGISTRY.has_key?(key)
50
+ Workflow::Node.register(
51
+ key: key.to_sym,
52
+ klass: Workflow::Task.const_get(klass, false)
53
+ )
54
+ end
55
+ end
56
+ end
55
57
 
56
58
  if Kuroko2.config.extensions && Kuroko2.config.extensions.controller
57
59
  Kuroko2.config.extensions.controller.each do |extension|
@@ -1,3 +1,3 @@
1
1
  module Kuroko2
2
- VERSION = '0.5.2'
2
+ VERSION = '0.6.0'
3
3
  end
data/lib/kuroko2.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  require 'chrono'
2
2
  require 'addressable'
3
- require 'aws-sdk'
3
+ require 'aws-sdk-cloudwatchlogs'
4
4
  require 'retryable'
5
5
  require 'faraday'
6
6
  require 'html/pipeline'
7
7
  require 'hipchat'
8
+ require 'omniauth-google-oauth2'
9
+ require 'omniauth/rails_csrf_protection'
8
10
 
9
11
  require "kuroko2/engine"
10
12
  require "kuroko2/configuration"
@@ -12,7 +12,7 @@ describe Kuroko2::UsersController do
12
12
 
13
13
  context 'with groups parameter' do
14
14
  before do
15
- users.each {|u| u.update_attributes!(provider: 'group_mail') }
15
+ users.each {|u| u.update!(provider: 'group_mail') }
16
16
  end
17
17
  it { expect(assigns(:users).to_a).to eq users }
18
18
  end
@@ -8,6 +8,7 @@ Bundler.require(*Rails.groups)
8
8
 
9
9
  module Dummy
10
10
  class Application < Rails::Application
11
+ config.load_defaults 6.0
11
12
  # Settings in config/environments/* take precedence over those specified here.
12
13
  # Application configuration should go into files in config/initializers
13
14
  # -- all .rb files in that directory are automatically loaded.
@@ -1,3 +1,5 @@
1
+ require 'uglifier'
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -19,7 +21,7 @@ Rails.application.configure do
19
21
  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
20
22
 
21
23
  # Compress JavaScripts and CSS.
22
- config.assets.js_compressor = :uglifier
24
+ config.assets.js_compressor = Uglifier.new(harmony: true)
23
25
  # config.assets.css_compressor = :sass
24
26
 
25
27
  # Do not fallback to assets pipeline if a precompiled asset is missed.
@@ -1,5 +1,6 @@
1
1
  default: &default
2
2
  url: 'http://localhost:3000'
3
+ table_name_prefix: ''
3
4
  action_mailer:
4
5
  delivery_method: 'test'
5
6
  execution_logger:
@@ -29,7 +29,7 @@ ActiveRecord::Schema.define(version: 34) do
29
29
  t.text "shell", null: false
30
30
  t.datetime "started_at", null: false
31
31
  t.datetime "finished_at", null: false
32
- t.index ["worker_id", "started_at"], name: "index_kuroko2_execution_histories_on_worker_id_and_started_at"
32
+ t.index ["worker_id", "started_at"], name: "index_execution_histories_on_worker_id_and_started_at"
33
33
  end
34
34
 
35
35
  create_table "executions", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
@@ -52,7 +52,7 @@ ActiveRecord::Schema.define(version: 34) do
52
52
  t.datetime "updated_at"
53
53
  t.string "hostname", limit: 180
54
54
  t.integer "worker_id", limit: 1
55
- t.index ["job_definition_id", "token_id"], name: "index_kuroko2_executions_on_job_definition_id_and_token_id", unique: true
55
+ t.index ["job_definition_id", "token_id"], name: "index_executions_on_job_definition_id_and_token_id", unique: true
56
56
  t.index ["started_at"], name: "started_at"
57
57
  end
58
58
 
@@ -95,7 +95,7 @@ ActiveRecord::Schema.define(version: 34) do
95
95
  t.datetime "updated_at"
96
96
  t.boolean "retrying", default: false, null: false
97
97
  t.index ["finished_at", "canceled_at", "job_definition_id"], name: "job_instance_idx"
98
- t.index ["job_definition_id"], name: "index_kuroko2_job_instances_on_job_definition_id"
98
+ t.index ["job_definition_id"], name: "index_job_instances_on_job_definition_id"
99
99
  end
100
100
 
101
101
  create_table "job_schedules", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
@@ -128,7 +128,7 @@ ActiveRecord::Schema.define(version: 34) do
128
128
  t.integer "value", null: false
129
129
  t.datetime "created_at", null: false
130
130
  t.datetime "updated_at", null: false
131
- t.index ["job_instance_id"], name: "index_kuroko2_memory_consumption_logs_on_job_instance_id"
131
+ t.index ["job_instance_id"], name: "index_memory_consumption_logs_on_job_instance_id"
132
132
  end
133
133
 
134
134
  create_table "memory_expectancies", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
@@ -136,7 +136,7 @@ ActiveRecord::Schema.define(version: 34) do
136
136
  t.bigint "job_definition_id"
137
137
  t.datetime "created_at", null: false
138
138
  t.datetime "updated_at", null: false
139
- t.index ["job_definition_id"], name: "index_kuroko2_memory_expectancies_on_job_definition_id"
139
+ t.index ["job_definition_id"], name: "index_memory_expectancies_on_job_definition_id"
140
140
  end
141
141
 
142
142
  create_table "process_signals", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
@@ -148,7 +148,7 @@ ActiveRecord::Schema.define(version: 34) do
148
148
  t.datetime "updated_at"
149
149
  t.text "message"
150
150
  t.integer "execution_id"
151
- t.index ["execution_id"], name: "index_kuroko2_process_signals_on_execution_id"
151
+ t.index ["execution_id"], name: "index_process_signals_on_execution_id"
152
152
  t.index ["hostname", "started_at"], name: "hostname_started_at"
153
153
  end
154
154
 
@@ -159,8 +159,8 @@ ActiveRecord::Schema.define(version: 34) do
159
159
  t.datetime "changed_at", null: false
160
160
  t.datetime "created_at", null: false
161
161
  t.datetime "updated_at", null: false
162
- t.index ["job_definition_id"], name: "index_kuroko2_script_revisions_on_job_definition_id"
163
- t.index ["user_id"], name: "index_kuroko2_script_revisions_on_user_id"
162
+ t.index ["job_definition_id"], name: "index_script_revisions_on_job_definition_id"
163
+ t.index ["user_id"], name: "index_script_revisions_on_user_id"
164
164
  end
165
165
 
166
166
  create_table "stars", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
@@ -168,14 +168,14 @@ ActiveRecord::Schema.define(version: 34) do
168
168
  t.bigint "job_definition_id", null: false
169
169
  t.datetime "created_at"
170
170
  t.datetime "updated_at"
171
- t.index ["user_id", "job_definition_id"], name: "index_kuroko2_stars_on_user_id_and_job_definition_id", unique: true
171
+ t.index ["user_id", "job_definition_id"], name: "index_stars_on_user_id_and_job_definition_id", unique: true
172
172
  end
173
173
 
174
174
  create_table "tags", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
175
175
  t.string "name", limit: 100, null: false
176
176
  t.datetime "created_at", null: false
177
177
  t.datetime "updated_at", null: false
178
- t.index ["name"], name: "index_kuroko2_tags_on_name", unique: true
178
+ t.index ["name"], name: "index_tags_on_name", unique: true
179
179
  end
180
180
 
181
181
  create_table "ticks", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" do |t|
File without changes