shipit-engine 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (813) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +24 -0
  3. data/app/assets/images/anchor.svg +12 -0
  4. data/app/assets/images/default.svg +19 -0
  5. data/app/assets/images/deploy_error.jpg +0 -0
  6. data/app/assets/images/deploy_failed.jpg +0 -0
  7. data/app/assets/images/deploy_success.jpg +0 -0
  8. data/app/assets/images/deploying.svg +12 -0
  9. data/app/assets/images/emoji/walrus.png +0 -0
  10. data/app/assets/images/error.svg +13 -0
  11. data/app/assets/images/failure.svg +13 -0
  12. data/app/assets/images/github.svg +9 -0
  13. data/app/assets/images/logo.svg +27 -0
  14. data/app/assets/images/pending.gif +0 -0
  15. data/app/assets/images/refresh.svg +8 -0
  16. data/app/assets/images/search-active.svg +7 -0
  17. data/app/assets/images/search.svg +7 -0
  18. data/app/assets/images/settings.svg +33 -0
  19. data/app/assets/images/ship.png +0 -0
  20. data/app/assets/images/success.svg +8 -0
  21. data/app/assets/images/unknown.svg +13 -0
  22. data/app/assets/images/validation/invalid.png +0 -0
  23. data/app/assets/images/validation/required.png +0 -0
  24. data/app/assets/images/validation/valid.png +0 -0
  25. data/app/assets/javascripts/shipit/checklist.js.coffee +10 -0
  26. data/app/assets/javascripts/shipit/deploy.js.coffee +7 -0
  27. data/app/assets/javascripts/shipit/flash.js.coffee +2 -0
  28. data/app/assets/javascripts/shipit/search.js.coffee +64 -0
  29. data/app/assets/javascripts/shipit/stacks.js.coffee +34 -0
  30. data/app/assets/javascripts/shipit.js.coffee +32 -0
  31. data/app/assets/javascripts/task/ansi_colors.js.coffee +6 -0
  32. data/app/assets/javascripts/task/notifications.js.coffee.erb +31 -0
  33. data/app/assets/javascripts/task/output_stream.js.coffee +69 -0
  34. data/app/assets/javascripts/task/sidebar.js.coffee +24 -0
  35. data/app/assets/javascripts/task/tty.js.coffee +54 -0
  36. data/app/assets/javascripts/task.js.coffee +16 -0
  37. data/app/assets/stylesheets/_base/_base.scss +365 -0
  38. data/app/assets/stylesheets/_base/_forms.scss +97 -0
  39. data/app/assets/stylesheets/_pages/_commits.scss +179 -0
  40. data/app/assets/stylesheets/_pages/_deploy.scss +65 -0
  41. data/app/assets/stylesheets/_pages/_settings.scss +29 -0
  42. data/app/assets/stylesheets/_pages/_stacks.scss +142 -0
  43. data/app/assets/stylesheets/_structure/_main.scss +156 -0
  44. data/app/assets/stylesheets/_structure/_sidebar.scss +80 -0
  45. data/app/assets/stylesheets/shipit.scss +9 -0
  46. data/app/assets/webfonts/CheckoutSymbols-Regular.eot +0 -0
  47. data/app/assets/webfonts/CheckoutSymbols-Regular.svg +143 -0
  48. data/app/assets/webfonts/CheckoutSymbols-Regular.ttf +0 -0
  49. data/app/assets/webfonts/CheckoutSymbols-Regular.woff +0 -0
  50. data/app/controllers/api/base_controller.rb +61 -0
  51. data/app/controllers/api/deploys_controller.rb +15 -0
  52. data/app/controllers/api/hooks_controller.rb +51 -0
  53. data/app/controllers/api/locks_controller.rb +30 -0
  54. data/app/controllers/api/outputs_controller.rb +15 -0
  55. data/app/controllers/api/stacks_controller.rb +19 -0
  56. data/app/controllers/api/tasks_controller.rb +13 -0
  57. data/app/controllers/chunks_controller.rb +31 -0
  58. data/app/controllers/concerns/api/cacheable.rb +11 -0
  59. data/app/controllers/concerns/api/paginable.rb +82 -0
  60. data/app/controllers/concerns/api/rendering.rb +23 -0
  61. data/app/controllers/deploys_controller.rb +48 -0
  62. data/app/controllers/github_authentication_controller.rb +25 -0
  63. data/app/controllers/rollbacks_controller.rb +24 -0
  64. data/app/controllers/shipit_controller.rb +48 -0
  65. data/app/controllers/stacks_controller.rb +76 -0
  66. data/app/controllers/status_controller.rb +5 -0
  67. data/app/controllers/tasks_controller.rb +23 -0
  68. data/app/controllers/webhooks_controller.rb +99 -0
  69. data/app/helpers/chunks_helper.rb +6 -0
  70. data/app/helpers/deploys_helper.rb +21 -0
  71. data/app/helpers/github_url_helper.rb +50 -0
  72. data/app/helpers/shipit_helper.rb +35 -0
  73. data/app/helpers/stacks_helper.rb +29 -0
  74. data/app/jobs/background_job/unique.rb +33 -0
  75. data/app/jobs/background_job.rb +22 -0
  76. data/app/jobs/chunk_rollup_job.rb +19 -0
  77. data/app/jobs/clear_git_cache_job.rb +7 -0
  78. data/app/jobs/deliver_hook_job.rb +7 -0
  79. data/app/jobs/destroy_stack_job.rb +7 -0
  80. data/app/jobs/emit_event_job.rb +8 -0
  81. data/app/jobs/fetch_commit_stats_job.rb +7 -0
  82. data/app/jobs/fetch_deployed_revision_job.rb +21 -0
  83. data/app/jobs/git_mirror_update_job.rb +10 -0
  84. data/app/jobs/github_sync_job.rb +42 -0
  85. data/app/jobs/perform_task_job.rb +53 -0
  86. data/app/jobs/refresh_github_user_job.rb +7 -0
  87. data/app/jobs/refresh_statuses_job.rb +12 -0
  88. data/app/jobs/setup_github_hook_job.rb +9 -0
  89. data/app/models/anonymous_user.rb +41 -0
  90. data/app/models/api_client.rb +42 -0
  91. data/app/models/commit.rb +163 -0
  92. data/app/models/delivery.rb +45 -0
  93. data/app/models/deploy.rb +92 -0
  94. data/app/models/deploy_spec/bundler_discovery.rb +51 -0
  95. data/app/models/deploy_spec/capistrano_discovery.rb +27 -0
  96. data/app/models/deploy_spec/file_system.rb +52 -0
  97. data/app/models/deploy_spec/pypi_discovery.rb +32 -0
  98. data/app/models/deploy_spec/rubygems_discovery.rb +32 -0
  99. data/app/models/deploy_spec.rb +123 -0
  100. data/app/models/github_hook.rb +144 -0
  101. data/app/models/hook.rb +86 -0
  102. data/app/models/membership.rb +6 -0
  103. data/app/models/output_chunk.rb +9 -0
  104. data/app/models/rollback.rb +19 -0
  105. data/app/models/stack.rb +276 -0
  106. data/app/models/status.rb +38 -0
  107. data/app/models/task.rb +143 -0
  108. data/app/models/task_definition.rb +34 -0
  109. data/app/models/team.rb +67 -0
  110. data/app/models/unknown_status.rb +43 -0
  111. data/app/models/user.rb +81 -0
  112. data/app/serializers/anonymous_user_serializer.rb +2 -0
  113. data/app/serializers/commit_serializer.rb +6 -0
  114. data/app/serializers/concerns/conditional_attributes.rb +20 -0
  115. data/app/serializers/deploy_serializer.rb +13 -0
  116. data/app/serializers/hook_serializer.rb +10 -0
  117. data/app/serializers/rollback_serializer.rb +5 -0
  118. data/app/serializers/short_commit_serializer.rb +7 -0
  119. data/app/serializers/stack_serializer.rb +31 -0
  120. data/app/serializers/task_serializer.rb +28 -0
  121. data/app/serializers/user_serializer.rb +3 -0
  122. data/app/validators/subset_validator.rb +7 -0
  123. data/app/views/commits/_commit.html.erb +21 -0
  124. data/app/views/commits/_deploy_button.html.erb +19 -0
  125. data/app/views/deploys/_checklist.html.erb +16 -0
  126. data/app/views/deploys/_concurrent_deploy_warning.html.erb +6 -0
  127. data/app/views/deploys/_deploy.html.erb +38 -0
  128. data/app/views/deploys/_monitoring.html.erb +13 -0
  129. data/app/views/deploys/_summary.html.erb +21 -0
  130. data/app/views/deploys/new.html.erb +41 -0
  131. data/app/views/deploys/rollback.html.erb +37 -0
  132. data/app/views/deploys/show.html.erb +31 -0
  133. data/app/views/github_authentication/failed.html.erb +1 -0
  134. data/app/views/layouts/shipit.html.erb +43 -0
  135. data/app/views/stacks/_header.html.erb +16 -0
  136. data/app/views/stacks/index.html.erb +26 -0
  137. data/app/views/stacks/new.html.erb +36 -0
  138. data/app/views/stacks/settings.html.erb +63 -0
  139. data/app/views/stacks/show.html.erb +53 -0
  140. data/app/views/statuses/_status.html.erb +5 -0
  141. data/app/views/tasks/_plugins.html.erb +2 -0
  142. data/app/views/tasks/_task.html.erb +21 -0
  143. data/app/views/tasks/new.html.erb +19 -0
  144. data/app/views/tasks/show.html.erb +17 -0
  145. data/config/locales/en.yml +36 -0
  146. data/config/routes.rb +86 -0
  147. data/db/migrate/20140226233935_create_baseline.rb +176 -0
  148. data/db/migrate/20150515190352_add_output_column_to_tasks.rb +5 -0
  149. data/db/migrate/20150518214944_add_ignore_ci_to_stack.rb +5 -0
  150. data/db/schema.rb +188 -0
  151. data/lib/command.rb +173 -0
  152. data/lib/commands.rb +25 -0
  153. data/lib/deploy_commands.rb +19 -0
  154. data/lib/rollback_commands.rb +5 -0
  155. data/lib/shipit/csv_serializer.rb +15 -0
  156. data/lib/shipit/engine.rb +30 -0
  157. data/lib/shipit/first_parent_commits_iterator.rb +17 -0
  158. data/lib/shipit/null_serializer.rb +13 -0
  159. data/lib/shipit/octokit_iterator.rb +24 -0
  160. data/lib/shipit/simple_message_verifier.rb +29 -0
  161. data/lib/shipit/version.rb +3 -0
  162. data/lib/shipit-engine.rb +1 -0
  163. data/lib/shipit.rb +124 -0
  164. data/lib/snippets/assert-egg-version-tag +23 -0
  165. data/lib/snippets/assert-gem-version-tag +23 -0
  166. data/lib/snippets/extract-egg-version +12 -0
  167. data/lib/snippets/extract-gem-version +24 -0
  168. data/lib/snippets/fetch-gem-version +21 -0
  169. data/lib/snippets/fetch-heroku-version +17 -0
  170. data/lib/snippets/push-to-heroku +72 -0
  171. data/lib/stack_commands.rb +57 -0
  172. data/lib/task_commands.rb +65 -0
  173. data/lib/tasks/cron.rake +15 -0
  174. data/lib/tasks/dev.rake +31 -0
  175. data/lib/tasks/team.rake +10 -0
  176. data/lib/tasks/webhook.rake +6 -0
  177. data/test/controllers/api/base_controller_test.rb +20 -0
  178. data/test/controllers/api/deploys_controller_test.rb +57 -0
  179. data/test/controllers/api/hooks_controller_test.rb +74 -0
  180. data/test/controllers/api/locks_controller_test.rb +43 -0
  181. data/test/controllers/api/outputs_controller_test.rb +17 -0
  182. data/test/controllers/api/stacks_controller_test.rb +57 -0
  183. data/test/controllers/api/tasks_controller_test.rb +16 -0
  184. data/test/controllers/chunks_controller_test.rb +28 -0
  185. data/test/controllers/deploys_controller_test.rb +83 -0
  186. data/test/controllers/github_authentication_controller_test.rb +12 -0
  187. data/test/controllers/rollbacks_controller_test.rb +42 -0
  188. data/test/controllers/stacks_controller_test.rb +114 -0
  189. data/test/controllers/status_controller_test.rb +10 -0
  190. data/test/controllers/tasks_controller_test.rb +28 -0
  191. data/test/controllers/webhooks_controller_test.rb +176 -0
  192. data/test/dummy/README.rdoc +28 -0
  193. data/test/dummy/Rakefile +6 -0
  194. data/test/dummy/app/assets/javascripts/application.js +13 -0
  195. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  196. data/test/dummy/app/controllers/application_controller.rb +5 -0
  197. data/test/dummy/app/helpers/application_helper.rb +2 -0
  198. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  199. data/test/dummy/bin/bundle +3 -0
  200. data/test/dummy/bin/rails +4 -0
  201. data/test/dummy/bin/rake +4 -0
  202. data/test/dummy/bin/setup +29 -0
  203. data/test/dummy/config/application.rb +26 -0
  204. data/test/dummy/config/boot.rb +5 -0
  205. data/test/dummy/config/database.yml +12 -0
  206. data/test/dummy/config/environment.rb +5 -0
  207. data/test/dummy/config/environments/development.rb +41 -0
  208. data/test/dummy/config/environments/production.rb +79 -0
  209. data/test/dummy/config/environments/test.rb +42 -0
  210. data/test/dummy/config/initializers/assets.rb +11 -0
  211. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  212. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  213. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  214. data/test/dummy/config/initializers/inflections.rb +16 -0
  215. data/test/dummy/config/initializers/mime_types.rb +4 -0
  216. data/test/dummy/config/initializers/session_store.rb +3 -0
  217. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  218. data/test/dummy/config/locales/en.yml +23 -0
  219. data/test/dummy/config/routes.rb +3 -0
  220. data/test/dummy/config/secrets.yml +19 -0
  221. data/test/dummy/config.ru +4 -0
  222. data/test/dummy/db/schema.rb +190 -0
  223. data/test/dummy/db/seeds.rb +70 -0
  224. data/test/dummy/log/development.log +10805 -0
  225. data/test/dummy/log/test.log +89257 -0
  226. data/test/dummy/public/404.html +67 -0
  227. data/test/dummy/public/422.html +67 -0
  228. data/test/dummy/public/500.html +66 -0
  229. data/test/dummy/public/favicon.ico +0 -0
  230. data/test/dummy/tmp/cache/5F7/AA0/task%3A496901070%3Apid +2 -0
  231. data/test/dummy/tmp/cache/5FD/BF0/task%3A616453971%3Apid +2 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-Svpuy5qSkiFtZsFPydzdLgop9RqO4D8hHORvHE75rQ.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-mVblO-V2dhzfo-sDOQAZ5Bii8MoKb71hYsDcReOQRM.cache +0 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-nMZLEbPOA2o0OpHoXtxHKhiRSg_6BX3l5iTIztyygc.cache +0 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-xIiF2JBomnwE2qrb6LMQp8Sfaw2EDlWkhBhNDgHUPM.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0D31DtEnyjreLzP7FSGhfk99Xn7IohNrgwcIdHkBgYo.cache +0 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0F_asRhsemd41WNUTdopb7guFKg-2v_OdeYwDqvNg_0.cache +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0X4d4ydG6vXWQTW-SLUMUVggRUaGmUV8VqJQEO5V1o0.cache +2 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0bjH0uaRbK2LwiGbzir2Vr1CEd_BCRM3zafyFrTxtWo.cache +0 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0vo5uBz0h_8XVbEyHjjAaQjYFNiv1pJ1t88uaZP5vgE.cache +0 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0zjPxEmdx8xESf5SQ-GCgtWntvyFvqcqxsUHR92fvGI.cache +1 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0zwxC1bY2AyEqqZfSN4xaVXopxjrecnLiVwEEnFXUj4.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/16Wb3nTKzFhipHwCvyycQYi5o2bBSfbHsS_5oGhmorQ.cache +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2W6qlNTnecxUEN-jyNTbpZXkqGlS0y-8yw0Bk_BMC1c.cache +0 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2fOJA6XBXRgV0of8SN8M1krWjVXwXhspWpcuFNiFR1M.cache +0 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3OFWTX1MsN1u3YolQMEDQa2s3wSauKeqnsCswkkzB5c.cache +1 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3gygCMbDFJRBo3mQy1o3xijN2l9IigxjWwsjyodfUX8.cache +1 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4erxjbJtY8zTAzw508nz01VXWr9KAaq0zMKNaQsiLrI.cache +1 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4xN2-up9H2rLnCZwRoYegqXIhEHrS3PMOoWfVNYwV9U.cache +2 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5XLj1Fg2z3ne9vQbf4sihnpTkXGmnXubAgPGj7ot2es.cache +2 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5qT3nt4p2Aoj5DoaPPLiMuWz7Cl0wDOHVQfsPFxlY8c.cache +0 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6KFAG929iIC5bdDDadWdp8ohukGMDq9GXk3dku5dxNI.cache +2 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6fCSqdSj4G3XMp6YWNTUbFyhSY4rw_6OakQbYSEUdOM.cache +2 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6n9PFCBVKW3Tb27z7DtxHaWd7OG-gy7yjTpLdxgQab0.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6ut8B6osDNUYyTJYkpQrPkZpOudCLIX2_ESoqMOx4Rc.cache +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/79odVsVErD7g_a_DfYjm3Z9YFxWGWOTTIwu0JjV9oZw.cache +1 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7OVeILINTnrhyBnMSJzCA9BSHP2WdwYwkr4xauOGM8g.cache +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8-Bvr3WT-xXwLNviKNZk0j1ASKSUzKhoWFG9Bf4Mzz4.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/827OJHVgQ0McTz3Up3RIDueQDw-qxXrFtPhUjYk-VSg.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9Z8yDnEnhawuTKSXzKn2B28ESruTwr2f6OEGnDW9XYk.cache +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9bmg6UGOOICN8gzDj7UWomSX2Yiir0pmET1rntY3FMs.cache +1 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A18m8UutFtfPQAsEmEsLDKPg3XRgQik_FVmfeVmf74s.cache +2 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ARyT0D_yLqHNfX42vJfHJpVQK9qmXylaxKwffw-bK8Q.cache +2 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AWZ-epgNJ4ELwgBo8jfjFpZFe38Nron5b-PPNe4EUY4.cache +1 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AoUs5JmbbHv9rya7vKsST8XJqjCR8JU-IOift64rGDQ.cache +0 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BA9bsW_K9IVOHhRPZlIe6lTn6wtubZAR1WOXUhU-WQo.cache +20 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BR9bs2rBvkZS-2elB1WS3bNTqMd2ePwuAS6fOitW6Z0.cache +1 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BxMB-nPJBAjv49th2LLgmJ6b8R2goN7xAqU-DHLEFJU.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CCGkCssACzakr0pb-SIAsPOQiCRSpRf5shywGBt5nrQ.cache +0 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CSxml3OCDdrgbl5purNxVFVD4QHTy2I2-r-ij1lf4Pg.cache +1 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ck301965nPjpLwpwuaicUYFa5h8Jp8_mZgpHibVi7ew.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DVJZdcJv_Gg4NUAjJnLLo8gAPryIK8EAKIVm919byJo.cache +0 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DXW19O6T3nCP38kltEhTzB09hr_GfDUXqvD0LhCQiu0.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Dpfdw7W47inKEonMVJv5SNXZiuDtCPRzW_KSuPzQf18.cache +1 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EDkYeQDDOTsU1u02TkLjCpe2SyDvxpNKuzdqzZnX1wo.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EOElWuFh_ifk4iH_fo5uwKhmf_nZGPjbZNfyDY2fYnY.cache +2 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EgwKzQo1qYQ1kBoQ3uhMfna68VYEneCMK590HjzpkLs.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ei-0T-42HS9RIa1w3le6bct29PgL2om5DybIakRQqzg.cache +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Emvowq0-Y2t-j01-5EDIvZwSffNUDwwUhGu_3OeJJZ0.cache +1 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EoGhAEbM2Df1KAqycBQ2ADmblwD6Z6Xgk6LKx1c5pXg.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FUKyxTYuAeD7ARy1CQy1vPIf_X-iEf4KkJ2kjSH0834.cache +0 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FgDsBEFY4e4-V5ZLfZRadhAckdKR37Rr2Zl_SvWrz7A.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GGhfOjwLGkIdWz3D4NMZrhWyzP86H9UdmHBBLppJDCk.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GaJn5HGvDVGNfSENSJLR3KtMu707-JIT3sLmsKmvVOQ.cache +2 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HH0Tm6VBet9g1JuZ2L9rOBe17P_eSJPctFLvN1waXl0.cache +1 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HaV5bgOyL70jdhgDuftgMmnnXterwDZ5jBY1MazJrOo.cache +0 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HbqeHpw1tx8v5Dc_4WexMeka83bYabLLjYFmuSYmOFA.cache +2 -0
  288. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HkhaE8URIVnf8c9xWoDlpWvWfyKnQEDHypr7WhinNyc.cache +1 -0
  289. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HuaIDeUZZuTVW6O66SY3zRbpRhmwK4dzNXrS6uEncyE.cache +1 -0
  290. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ItSY_ROGhK18mLa6WZfaG6YIqABXcUWQqHeeFBlYZlw.cache +0 -0
  291. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Iu1o_OXMHHO3Vd0sfcrokPnmRuyE7KEWXtc8eFM4ZNg.cache +1 -0
  292. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JrcZwj0CMuwXWhnliBiFeBg7cVkFMPHBNcPI8u8dpbc.cache +1 -0
  293. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JyY0td6ydwiZgiVINv2tslgeRAlwmIownlqTX1JGZrc.cache +2 -0
  294. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KAIKYUpS-lUgMpmqPR9zNn1MEhgUsud6USvsTNZ3zL0.cache +1 -0
  295. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Kw3N3k_Mby9N_9kIITbVEH59SQbXeRjADcF8Ajf0YYk.cache +1 -0
  296. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KwMDXtl1FpRJHqnMdpeKNk-JG3eU1ig_ADNepqUlyNY.cache +0 -0
  297. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LSJRgEZrxm7VqXNqSoYGcWqNp9CLc0Oq8emfkv_1Krw.cache +0 -0
  298. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LcawP_2CmFgJ0aGArmp3Y5OzU3Fq5ftprzhUk1oOlnU.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LrpAZ0ICJwktWuK7QWYWb7F7-TSlqGgCkt8qqbzbcso.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MH6FybAtwkVK595sKGsjJD0cUP7DQgWmB6pzeNk_AKc.cache +1 -0
  301. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MI1SW5esw79g2uG4wlBVABG4mdf2HXdg16k_J09BELY.cache +1 -0
  302. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MLMbmRJlsIws2zVQHcJ7rCiYC80_HWi2wtNOfcYSwms.cache +1 -0
  303. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MV5La-EQl_S8y13wXAIIJOeMW2NMHLvz82BQCs2OKyI.cache +1 -0
  304. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MbmJeItof25me2r7QeCx-hLFL1MqHR6pmSc5QivaP8w.cache +1 -0
  305. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N0BNO49Row05oLOUjvNwSzMD3OkWOiu1JH3x5sIjOGo.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NJS_0DD49ggZhk3RhAlbxDtekRUNexcbFBERE3lphoY.cache +2 -0
  307. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NV-3NPtnt8Gmd2ywpD3KXu8OJGROQWvTfBC_XzJVGgw.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OFtYh3kL0OSQKgGGpK-F6NLPg2SLyK66Ey3-cJ7bTnU.cache +1 -0
  309. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OqcdyP8U-1yQmsVRUFCuXvs-wJ0Q9zoLkxa8RrAsowY.cache +0 -0
  310. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P8dvwB1U7H7RjCzU71OLmdrBzkBWhxNuPcK-J8hFNyQ.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PR8Q50mMVzmIN_aggQXVKoja0vtL-EAJyEQvK_UCarI.cache +1 -0
  312. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QL4HWY_CCW7hJkGLNnxpQS9395ZiFxxrycWmw82FA7c.cache +2 -0
  313. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QwFgVzdqWk1U9IJu_iuo48z2wQX0nG4x_WTEpRgQejs.cache +2 -0
  314. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QwGnjp6jYOqq66DmJSJhjMfIzvDjNSQrzNjeuldyVTg.cache +1 -0
  315. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RTW2G_W3mtAiyIltmBhvDkOwXHlmz--SYhNU_ds6JSc.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RVmhBIJkBQ-4Sat4FUh233KvxbyQtNL7_BIR9Ks-G0Y.cache +1 -0
  317. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RXRRnxPgyBhfo4V7bZWSebiVZs4gfcEoTVxE586c4lQ.cache +1 -0
  318. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RarKYi-qrs-BQYnbK54qAMURAE424kCrthIwsRgQ94s.cache +19 -0
  319. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Rlsg7VPtRgnP1yzRVwKdBC04dtgIq6WS25THCro-RIc.cache +1 -0
  320. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SD3Ol83RfPjB8BS_mcOmO-VJznl69GVwmXJYbwPG77I.cache +105 -0
  321. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SOqnJbRZjN7VvSGY5McdxjLB2S0ZX8b89h8U-jBczp4.cache +1 -0
  322. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SW88UkYs0ZWqRdFCAEM5yJd53xmrNEy6O6GGGzWhu8k.cache +1 -0
  323. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TohOC514tYbacv-fJPUf7CtmW2s0O0jfO_mfyhVU-7U.cache +0 -0
  324. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U4eiDxZi5D33lcsDPwCfcG3X1xqiaf_LvGnbDcU5Zwc.cache +1 -0
  325. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U7Gd1TAPsiS73V6Z1VYeeWlMP3Isrz8rEW1t2zRyCCA.cache +1 -0
  326. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UQWoOMkPIYRJx_FDpHJgPXVvbE1kc4_4-UpMvLihRiU.cache +1 -0
  327. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/URMXqRNkAXXUrHOcDxwuirbsm1pcwbp6DOgn35JuByQ.cache +1 -0
  328. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UXlxEIkPihLXpIBMLjzup5wro9EjhJLe_UGDHm5VhKs.cache +1 -0
  329. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U_ILtYQgzvFhheI63SSDoXaBfJL0Akdy7R42lE0SVSU.cache +0 -0
  330. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UtwxNuCOYG4rcIhlD7HelYaZIqYt3nltQ_w2K_-p4Ck.cache +1 -0
  331. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ve7LudoBelar7rV9D6kWWZLTNwqbMOHXEX2hPj8tSlM.cache +0 -0
  332. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Vfl8HC52-bbviS84eEZxrXi1-ioECC3he2GU6vVfryY.cache +1 -0
  333. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Vl5mV6tInC-AMfCAzK27IeK4FTX4tP4xPtq1QF226Y0.cache +1 -0
  334. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W9Fjhf8pn7MLHj8gz5wCd6s2gsR_vKk_f7xxe1LwVU4.cache +1 -0
  335. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WPdAL_Lqgb7_4yjLuRkEvSCGiZKP6nSo_-ChjS-_lE4.cache +2 -0
  336. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/X1oq-rIggwESRIEYhYkgkoWmg7pmEllUVyp-LONyPQ8.cache +0 -0
  337. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XYiutOiHAp8RwwiVfSijdh-8UiVCDv0_wZEThtff3b4.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XgZCchZuerFn9jRwXqhox03zPvnO6zGMFonkXXSsSFM.cache +2 -0
  339. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Xkx8icYIHXIHJmUqjuiNzd1figVtMQ_mu1rXDajGwMY.cache +0 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XnIXzLut0xx98YvXT_nYHxKvdSfmY5ZHNmPMeZGdoNE.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Xwvzd4LlA0IbFYPyZItdhvA2uLrMnuTiMFjFpByJbkw.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YjzxuCef_6LBQ3XNaItf-sCynDcMZc5XiOZfJMkTa0M.cache +1 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YqSyIrjbDjhodfq_KOe3xscOxddDT7_Bk0dpTgnC578.cache +1 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z7lgC4S1HJT5MBm5kJgIqxozY__pC66SviBV_rxVuiU.cache +1 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZMsxYb7MZs4eOp9vf1GqVjWL7J38-6PGKgqflC7o5Hc.cache +0 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZxY7a7E-7NdoNGkiuO1i8aOd_n6aZPGTKlsPdFunMco.cache +0 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_GIKnKOoV9ZF8Al739SyzWhD-GN0YfdERfHlAxJ_4sk.cache +2 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_m788jlvKlZMNcGNWyuhzBbsC55krOzJmVEf2ujFreo.cache +2 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aIwPWtsELy-iVFlWJMrx_M6_pfd2A0bqx9jHd0M0a9g.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aMWlvhJIQ8ccR_fLm6XU2WIbOKWlBpr-E-PmV3VnVBc.cache +0 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ahd6onuCZxaa-ok1Fmlgw_MafQUNfhF2Emzet6KRgkk.cache +2 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/atiR0R0CAj5PD0ruX_nONGxh_sPXGRUd8bKChAg-iyw.cache +1 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bA7c2aRmDpgyp9g-dwvBTha3_eJYfwEcUUAvas8LaY0.cache +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bTmFJ9jOV4XX1-qQt5eL_vs5ym0Ujq5AlqShH1Iuab0.cache +1 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bolYufxu1-GHsHX1ZNXeJWfM21VN6c7FrATpOt8-fSI.cache +0 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/btUsWol_m0bfhn2tM4QZF0p6UxqimfRO1lGnSdjwAss.cache +1 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/c3DPKk5y5wK03hiHahNvYIcS6MhcWGihfd6FtRMLHBY.cache +0 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cTrmxpXU9ApI086ePHzFAq0j7B_B1_YvJvz0RzmmTCA.cache +0 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cfRx3ipBTXBD0h2rd1sKk-L5DabMC5E9A-gctjVekWA.cache +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ci1SmvlG70ux0eVB4T2Hq0uMWUEUrW0d99t-RCUyyG0.cache +2 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cnfLyAbfkbLV1AYabLtnufb9HHD-DVUsjEFEnLV7axY.cache +1 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cyAooGZVL1huLzcNmE5jytAY76u1QVs9nogd5IjIang.cache +1 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dh6UGD2Sw2UZspsLpyX9w0_YQaE5SQyMwpLvTQlPR50.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e1UTzoa3w2cfZQqN9uWGzWr4hkAvGoDO2aHIljsoizc.cache +2 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eFeAdQ5B7BQIdYq-P8jMfBVvn8JpnVUn8WRFuWnFD1I.cache +1 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fDCMk3VTrgyg45sDyEWpAR01Z1wgFJLJ3OW_e_bTy7c.cache +2 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fLP5p_VyHlzDn2zaOgyvwxD8sw9o5CmYFw2F-d_cRM4.cache +0 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fQaNSw-ypQPwly1n6O-485MV_X4a5S7tB4_IkF6omJw.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fhEbU257BW-dpKmj-hl4rX0oOmnEJDXuEWzhgXwlYtM.cache +0 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gK-V98E7cO1u-xt632svaYaeLKHrwVdN1el_Tf7OdjI.cache +1 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ghbMFfG2FX0j_dXR5i0EekKUPPZW9gJ5a9Ymy569eYY.cache +0 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/graU-e4yIipr7ZSCf6lM6bmH4LDIZtgp2MI777l_IMA.cache +2 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gu2rIo1OFVLfxzxVGyw5ZsHWZGejzrzjnvX24oiGR-w.cache +2 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gyFpNnWQp4_Hq_JG5iaZ1_V8lcxU7EkMMok2r_dmAJI.cache +1 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hsUNux1yPb7tKKlGnLYF5Q2Tw085JsTKqp5vf-DJnrw.cache +0 -0
  376. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iIgYiHp_87ujUPWmg3DAOju2EgekJtl_ZF7LmKl1lI4.cache +2 -0
  377. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iOw2L1RkhXlm3YhifknLkRW8sIbWQvTQutWE2awOk-M.cache +2 -0
  378. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ifnHDGmGE3XnB9zwYbZVVpBoR_NaVMt8GUeiN2MsdHk.cache +1 -0
  379. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jB0ZFcqrW6VUi_sNT81XAW29L509iMyKomvnK9upgzk.cache +2 -0
  380. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jVgaiQV1tX5tkr7W17W4xBY3shfOfIdoRktHYhU6C5I.cache +1 -0
  381. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kFWVZecoz1kW3Wobp6_rZH1WRsb8m5GFkAhPC0VEUPY.cache +0 -0
  382. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kH7bEdrjJRnuuD5FOopSnzAtXKsBsQki6Dru50gXq5c.cache +0 -0
  383. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kHBaM2fOz0224c4c62qeVx16vFxlijX4UJZp6oA8g40.cache +2 -0
  384. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kMRPMn8ZW5hHKoBJKHxJJFWqbFLy63fgOoqVlsztYRo.cache +0 -0
  385. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kV-EY_oYRYsVMyVc90iLAVk17OWwWFQ6OqUMi-YdNv8.cache +9 -0
  386. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kXhmcRnQ1DMKO500oXLgbQATMlZ4J6jaK5sM1l0jn84.cache +0 -0
  387. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ky7PLTdm-fpj2wb7As1WG34psSb9vnu9g8tcbjOYVGk.cache +1 -0
  388. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lIXpLp9Ksp8SsGX1waXXnIvcDtPotycT4PR-6y5r7kc.cache +2 -0
  389. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/le23hz0CHWNBn47lLpU5O4RnAhWMeZhbpT1HJZVL4C0.cache +1 -0
  390. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lknip8bQoJdZJqLgT-_EqNO-1rbeF3bv-fcrt5WR3dY.cache +0 -0
  391. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lzIlyywNJ_DeKA8f2hHho-0GFFannFJsQ1hqQLiOu4o.cache +1 -0
  392. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m3PrgpgGAaXO-MXdI7ukEAiTw6DWc4RnaNgoZFNHTMg.cache +1 -0
  393. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mBSdYTpsQk2qKOBUg1DUE4HemcJiUHZqa0HfTmmhHZc.cache +0 -0
  394. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mfZNw7i_BZQ6g-wm0NCbi6urAyb3-CdE_Z_vqEEVX6Y.cache +1 -0
  395. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mkHRd5M-ZCoNB1znrOsdOeOFtiJOrZXNKugRhryp3kg.cache +0 -0
  396. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mn1hUZrlYsuULP48vHtFh0JpLzJKgNWWCmNnbLD-GTk.cache +1 -0
  397. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/n5M16vhIw8DdPInGBfOW5jzqzbNN02D2xy-DKgDZP50.cache +0 -0
  398. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nDXW7K6M6_yyhIv-6bGeS1aN2ezwRZRwcNpfwdBp4J8.cache +1 -0
  399. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nIBiA_CFLpPtwIzw_PhGUNVSYuaIn69kPfR94E4L3Hs.cache +19 -0
  400. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nTLxYQi8Jh7ni0gmVLq_2oE3uUc_s2oclks-ZwYmMXY.cache +1 -0
  401. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nihP0YNwxwKdpMlyN9ZNePfSx1dAemJjIUZik7SlYxI.cache +2 -0
  402. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oH-hbt3vGnTckrMe1K-3JrzfzkfcloPDQ4L0CFn1bwM.cache +32 -0
  403. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oY_XU5ADj_NmjH0omdCyuf1qGeV18Lhy8qDS6uzg7oA.cache +1 -0
  404. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oy_eLLrZtAbv8Ivsvn5TXhMNXJrYd9xGhbzkIEvtRgU.cache +0 -0
  405. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pDd5HlYaW01ZecvMLIAubLwMTNCTfqDgVdIeeHMuDQI.cache +2 -0
  406. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pNuI7nym5ZtskUMpJgLr4RWmFpHhY_dZLA5NwSK3dis.cache +0 -0
  407. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q188cwMLy5FD8FkFa7frjoJr6VR3RjQhjD2P9IrYzNk.cache +0 -0
  408. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qKlEUp2I8S_8cU-IooV08s2MujEdsFS1pCQc_QTRzCc.cache +1 -0
  409. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r2glI8vPCduR65mk18XVmk65uIquarjwFGgb59CH3tE.cache +1 -0
  410. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r9T1HQ-hSfuQcrL_nSpZ7J6mpU_LiT8Mw2fSA-xQR8A.cache +0 -0
  411. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rQQn3COcRPRzd5CUtTfn5MLHuLvIEj2BR152ESk1kAQ.cache +2 -0
  412. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rSg_bYso__nRoIKqlpIp1sDO-dK_NpBv9WAR3P5aChY.cache +0 -0
  413. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rqE-uWjUpjTJQacEck-1wlj9hHrdRJ2PmMsUkiL88QY.cache +0 -0
  414. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/szb7FhgpUPZ5iwd8P15GLG2Y-nXOZQlPuoNnkZodDZs.cache +0 -0
  415. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t7Avh-u8ClVbyPheuvXJoNourlIqKwNTXs_7ElS3j8k.cache +2 -0
  416. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tZyb7vpt98L9jubim32NOpy6ln_2a9N1NipM31VEbXs.cache +1 -0
  417. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tdO1XsjC5iWX0Ev1dTRlppKaajG4ATtWGKQ8NkyPiuI.cache +1 -0
  418. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tj75VSAHiWx2gbOaiNbjvSpWEVqjHACSWPwtv2VCoSk.cache +0 -0
  419. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tnkY73Yfb7qArDJBY4gZjw5fyclLqhudGRp78u8AxOU.cache +0 -0
  420. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/u4yYOpNMR6jzA8kEBKWIw4h0AYzXPW5v93E_yzhnc4A.cache +0 -0
  421. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vE-x41_K8TQ3Z7XeQTivuiBOGI2lPCsuCkE5oPuqZZM.cache +0 -0
  422. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vK1tr8vtDEBfPQ8eVLucCdOvJpcWDYg2eA4jZtPWej4.cache +1 -0
  423. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vYp1wNky3OrU7mcJfRfrrZwBTRpx6WDq4A3YCYljX0I.cache +1 -0
  424. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wrTVFMBsweZ8U34G3oNE1tGjC3905qsJbpNbK-qz2hg.cache +1 -0
  425. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xAu3ysgWqBbO73MJ4_44j_vnOCumvXJyDG2ADjnb5Ck.cache +1 -0
  426. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xBOd1xpwofj-D3bcu-Dfh5hp2tMWBNfxNAp6qe5x0Ig.cache +2 -0
  427. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xCcL_B6JyBZSNMMyvg-BJbZDwAl6fJxYw7GJNBZUwvc.cache +1 -0
  428. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xr5BkAXYL4E29303MfN2hOmc-LxEYbzDQpUiN9Qt4k0.cache +1 -0
  429. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yIDJo17UyDMSmBr7SDMK7zKrMWtl5i4Jf8RX-XE9y8k.cache +2 -0
  430. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yQvqeK7OrdTQsommu8-RnFzjFcLavinCoDDqDQEQVrU.cache +0 -0
  431. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zdtm0jbYXVIz_MRLk626UeTIVMn9TfnwG4ZPYeHChfc.cache +0 -0
  432. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zuoPybsXsCBTU15ZlqU_pkrCqXtN97fv4WOzpjquWek.cache +2 -0
  433. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/--xYYg28ZgG74o2MD9rsG5dpKtURVxoIDsqcc8qgakA.cache +0 -0
  434. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-3B5Sq_gO-FSdY8_L5qlv_DMJj-Qnhr66f1H2yiuqbE.cache +0 -0
  435. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-Q07CPm59S5ORobb8fwq4UlsHxQhcqCG7KMF43XIBvQ.cache +0 -0
  436. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-S8RCLZUZHMujh41FwO7bZgH7r-dZ_Ttwa3jKPEf7D0.cache +0 -0
  437. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-Svpuy5qSkiFtZsFPydzdLgop9RqO4D8hHORvHE75rQ.cache +0 -0
  438. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-Zl5a7hl5EKRFECAfcUfbufXUzTCF0GCYT43ksSeoS4.cache +1 -0
  439. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-iLvx0LVcOG_nqz7Fdj1C9DRzieksHjWrXvsg2MXe_I.cache +0 -0
  440. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-mVblO-V2dhzfo-sDOQAZ5Bii8MoKb71hYsDcReOQRM.cache +0 -0
  441. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-xIiF2JBomnwE2qrb6LMQp8Sfaw2EDlWkhBhNDgHUPM.cache +1 -0
  442. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0NxqZho4ZZ9hoELrS2P4tvlolQFBpstWUV9bwB--hbQ.cache +0 -0
  443. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0UsdriPGE52puvNRs_QVjnUt5k66EzqX1vuxQ6zHGHk.cache +1 -0
  444. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0X4d4ydG6vXWQTW-SLUMUVggRUaGmUV8VqJQEO5V1o0.cache +0 -0
  445. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0bjH0uaRbK2LwiGbzir2Vr1CEd_BCRM3zafyFrTxtWo.cache +0 -0
  446. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0vo5uBz0h_8XVbEyHjjAaQjYFNiv1pJ1t88uaZP5vgE.cache +0 -0
  447. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/12ZGGSiVtaGImFqpL3E7wYM8BLgza-Soy2gvp-85iKg.cache +0 -0
  448. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/16Wb3nTKzFhipHwCvyycQYi5o2bBSfbHsS_5oGhmorQ.cache +0 -0
  449. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1_959hoGCdTXc7SRcOU61Q3bynVkxUUOJ4YM36Hj6Dg.cache +0 -0
  450. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1kuMWc_5k3pjBZLNEnHvepf-AyRFH33BOT3Sn1Pz3zQ.cache +60 -0
  451. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1lvvsnWri7lBSX5c_k5wpY-iUqApvNHtRgAAF2cF698.cache +1 -0
  452. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1n25jTvxlE0_W4Vny4241ilVRFhO7iNBqTBySiAkVe0.cache +0 -0
  453. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1ro777nvt9hjYDdIzR_Pw30aAyqetWwSj5zKDE2WIog.cache +1 -0
  454. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1zBRTZdcDRu40j-ZnUqIe2M0zaoKswztd32zKC-y81E.cache +1 -0
  455. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/25lxycnfQK4dlVGfzAci6GiYt4lQq6fd_qiVNZo0JM4.cache +1 -0
  456. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2awJSiCKzMNAPcXXHmS1YYE8rw82M_5O-Gq9agiZuig.cache +0 -0
  457. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/3gygCMbDFJRBo3mQy1o3xijN2l9IigxjWwsjyodfUX8.cache +1 -0
  458. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/3rmfS6SQaVEfYqGp_fPyJyQ6C3OFiqd4P22R-zZmGTc.cache +1 -0
  459. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4XVry62-Oy3F-4OuAIOND2OtOIgosg5VVM5YTo8rZ2w.cache +1 -0
  460. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4erxjbJtY8zTAzw508nz01VXWr9KAaq0zMKNaQsiLrI.cache +1 -0
  461. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4g2h1H3cGVZBXKg61dDYW0VaPexUM8aSTFIl9ultF_s.cache +1 -0
  462. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4hP4QN3j6cVc09qghrcIrJtKzD5ClNafvWO23FFT70I.cache +1 -0
  463. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4hYxdJzS6DXXtabQYCZyFjuHr8AHRwjQgcl1q6tsjS0.cache +0 -0
  464. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4uCsK_x53wwKnTDJHYCyDACNB_Reb6z8wHieAgx7yiE.cache +1 -0
  465. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4xN2-up9H2rLnCZwRoYegqXIhEHrS3PMOoWfVNYwV9U.cache +2 -0
  466. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5-U7omAI0wWlpYtm4-S-0h2s2orLnhYlJctYVZn8H3M.cache +46 -0
  467. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5QxwpwBpxpXTsBQkjMcheP4Ln9p4tkB9DQpUFDgpkYM.cache +0 -0
  468. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5XDag_F0lOIb4J0uXrXSQAVBYlDxifQloAMs0QsHLRI.cache +1 -0
  469. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5XLj1Fg2z3ne9vQbf4sihnpTkXGmnXubAgPGj7ot2es.cache +0 -0
  470. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5_rfWOfsRxc3w3_noXoTq_GLncwWosv9YI05ltqVTrA.cache +1 -0
  471. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/5n0Kh-4f0eYJAxZZLgugvHVEdoHwLcpyBuNPdN60Ee4.cache +0 -0
  472. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6HeDvRGCfqlqk23evy8VddT4EAW89Ss8s3qscR4ptH4.cache +0 -0
  473. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6KFAG929iIC5bdDDadWdp8ohukGMDq9GXk3dku5dxNI.cache +0 -0
  474. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6fCSqdSj4G3XMp6YWNTUbFyhSY4rw_6OakQbYSEUdOM.cache +0 -0
  475. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/79odVsVErD7g_a_DfYjm3Z9YFxWGWOTTIwu0JjV9oZw.cache +1 -0
  476. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/7P0joc4hEGhjx_5KgRyWYVgHDE0GeaUq57sGd4edbFw.cache +0 -0
  477. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/827OJHVgQ0McTz3Up3RIDueQDw-qxXrFtPhUjYk-VSg.cache +1 -0
  478. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/85mike006lRp6geKXjeKgvIvMDXDNvDw48ptdTUCo44.cache +0 -0
  479. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8MY0VO78Oyrax7dhgf0tXt5HA_sGYWQiQ1hlIPkASmc.cache +1 -0
  480. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8Zjkb8Nbyf_fyorM9OYSg1IW-NY4Pk96-g_1U4d5uls.cache +1 -0
  481. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/998R2V4dOSn3eMG0eN-ZlMNCZbUylPubzGQsDxKs_gg.cache +0 -0
  482. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9CGVA3IfUIwEqtQQABOKf3y79eF_ffEOZsCSI8dwnsM.cache +1 -0
  483. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9Z8yDnEnhawuTKSXzKn2B28ESruTwr2f6OEGnDW9XYk.cache +0 -0
  484. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9bmg6UGOOICN8gzDj7UWomSX2Yiir0pmET1rntY3FMs.cache +1 -0
  485. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9rUFrRUHzbmpYRa1YhTYSr3E7_b2qI5TcqwcyThkqS0.cache +1 -0
  486. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A18m8UutFtfPQAsEmEsLDKPg3XRgQik_FVmfeVmf74s.cache +0 -0
  487. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/A349hKKDjByNyQbt6UJJC_wiNKpekz8LPTsRQxZfL_I.cache +1 -0
  488. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ARyT0D_yLqHNfX42vJfHJpVQK9qmXylaxKwffw-bK8Q.cache +0 -0
  489. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/AXSKlO2Sxm2An8wkP5qYs12Qwa2Z9AmF8uvy7QQzvKY.cache +1 -0
  490. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/AlmSreEEi3ehLI_NnRga_sguil2POSjPHR---Fm7fgU.cache +1 -0
  491. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/B52hPzEnHTBv6R1ccsa_nCZepnMMKuuFTZt5r4HiWBE.cache +1 -0
  492. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BA9bsW_K9IVOHhRPZlIe6lTn6wtubZAR1WOXUhU-WQo.cache +20 -0
  493. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BRCz37MapTKcrHup6ZjsEtEZtHNBp_bHNq6ZHPYZsYg.cache +1 -0
  494. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BROQnDhwyTD5fSETT8ZdUu81o38jSGU4bMZ9LrIETU8.cache +1 -0
  495. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/BxMB-nPJBAjv49th2LLgmJ6b8R2goN7xAqU-DHLEFJU.cache +1 -0
  496. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CSxml3OCDdrgbl5purNxVFVD4QHTy2I2-r-ij1lf4Pg.cache +1 -0
  497. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/D0Jg_F_hCc-w-JuDlLcQlO8NcA8Cvt6wC8aes9FQ8No.cache +1 -0
  498. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DAuGN5SgyRQHoMIMSjixXkF95UFMCWX2mVKek4PQru4.cache +19 -0
  499. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DICNVWZuYxJziT9YJDU4XShqsoB3EgDXHbbjHhdGP24.cache +0 -0
  500. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DVJZdcJv_Gg4NUAjJnLLo8gAPryIK8EAKIVm919byJo.cache +0 -0
  501. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DWst_RfDvZvN7kPfGemYnLYI-SLzI8cQolQRqDr-Rhg.cache +0 -0
  502. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DhRjwXkxYAq2yAQfUB6wnok6KAXqQsIrw_fjZp7uzsE.cache +0 -0
  503. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DpZ1ZqrjWPAL5iFn9j0QAd8AicRKjdy9ZeLWMPdpi-g.cache +0 -0
  504. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/E0ETAEMGdo60gkvYCL5G_Vn7tXoJdmsBUukmCfxJ0iM.cache +1 -0
  505. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/E8l9q6b3-ddKWl7FXOmpuvTg2r90TyVLFwSMWUPGE3Y.cache +0 -0
  506. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/EMApzh9Zc-zZpBTDp62Q5ouIUmvt4vxcwsqzRGxs_BA.cache +1 -0
  507. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/EOElWuFh_ifk4iH_fo5uwKhmf_nZGPjbZNfyDY2fYnY.cache +0 -0
  508. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Ej_cosO1rr0pAQBmFqlC87mCyF3RgtIMGJcemwzf-SQ.cache +1 -0
  509. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Emvowq0-Y2t-j01-5EDIvZwSffNUDwwUhGu_3OeJJZ0.cache +1 -0
  510. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/F37uHaVREUTDUjX1e27DJbYpPuGvu9SVj0qlH7A4QYo.cache +1 -0
  511. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FFGEFID_cOucpuisWHfJyorPiwkZ_mQQDFYbvTr7PFc.cache +1 -0
  512. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FUKyxTYuAeD7ARy1CQy1vPIf_X-iEf4KkJ2kjSH0834.cache +0 -0
  513. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FgDsBEFY4e4-V5ZLfZRadhAckdKR37Rr2Zl_SvWrz7A.cache +1 -0
  514. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FwHhmedTcTbIKeoMXpSW3I-gJfdAxkDdhewpc0mPrP0.cache +0 -0
  515. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/G3iLKadXny4kV1WxAsV8UIZL2VH0p1RshXbpuRq_8yg.cache +0 -0
  516. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GGhfOjwLGkIdWz3D4NMZrhWyzP86H9UdmHBBLppJDCk.cache +1 -0
  517. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GaJn5HGvDVGNfSENSJLR3KtMu707-JIT3sLmsKmvVOQ.cache +0 -0
  518. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GagiRkmj9cxYLhz5VSz3QnhCGss9vntY-R-IyoIhJvE.cache +0 -0
  519. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GgMf3w0fmEjYugVfvVbtygBWEGTh6Cak-Te1J5EIaNo.cache +0 -0
  520. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/H-Jz_LFXIKyb_g7xm2DdU_-FROr1oWmendLwz9-q41k.cache +0 -0
  521. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/HL1UvheKLBZXtr8P8oaA2-yUyTbSSI2t0rY-aqKn30k.cache +0 -0
  522. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/HP08GG0ceTVQmISmltR8IPsfP4v1eWUFE8rWg7JrePM.cache +0 -0
  523. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/HbqeHpw1tx8v5Dc_4WexMeka83bYabLLjYFmuSYmOFA.cache +2 -0
  524. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/HuaIDeUZZuTVW6O66SY3zRbpRhmwK4dzNXrS6uEncyE.cache +1 -0
  525. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/I0HYg1pV13ZQpHIpDpxU0DnSZAqQDHtc-CD8caQv8fs.cache +1 -0
  526. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/I4eNrSofbsifXIql0FOb_MqOBll3b8mwB5AOM1xDUtw.cache +0 -0
  527. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/IEOm3Kuz032yL4pBPin63qsyMmgIg0I0ukB3krtulg0.cache +1 -0
  528. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ItA-7kAIOwUJE5I5KvoiYDiwZahQduh1FBIivkucbGA.cache +1 -0
  529. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/J1FRJEK2s7BElPtVEbILj12-JpbYwcwEu89hfOeDnzs.cache +1 -0
  530. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/J738qcaLvepTDALOEFtX4SLvBiW-xBKZaWc5qMWn1IA.cache +0 -0
  531. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JPmSn9p4wmW8RfOF6--bvMKdGB_nPUcYfTIDwUXD9io.cache +1 -0
  532. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JyY0td6ydwiZgiVINv2tslgeRAlwmIownlqTX1JGZrc.cache +0 -0
  533. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/K6ZvX0-uKZSVw1XMtcGvp5hltEbByjjsc1mIVDU4s-A.cache +0 -0
  534. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KAIKYUpS-lUgMpmqPR9zNn1MEhgUsud6USvsTNZ3zL0.cache +1 -0
  535. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KJyTJM1FL9mPAfarmV46NGHFC1MLEANsJn4aBsSeofY.cache +1 -0
  536. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KPV18Bn4TSWNhehGZ1yyxctPVZ5Ml-a8ohimUdxIQ9w.cache +1 -0
  537. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KddCd-yqhUcXwQ6MT85dUb6yxMpbNXpp_Vu4e8Jq7NQ.cache +1 -0
  538. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KmGY-_e-RBtXrjPIHtp4kbC_tSpLSVwv2ZrAGU7dWhE.cache +0 -0
  539. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/L3MalVYxWA0aV4wedbyfuloJhyT7fYcCFUsI4XQPQt0.cache +0 -0
  540. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LLa_nArZhPNytvaWEMIdkIj8NI8v8nwaQryZ7NWFdzQ.cache +0 -0
  541. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LNdXskRK5LA8RB2PvLQqahvip00928K0hIiM0RqCjYE.cache +1 -0
  542. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LQs-CnMa_GpPs-OPBWYDhKqpLt8OyAyZkQYP23FGXvE.cache +0 -0
  543. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LUXMtlEGRFCiRhU1Teb6KQTAyz99i46YafhKeA8V7ZE.cache +1 -0
  544. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LbgSSjU__mozAxJTfXkCJa_WXJt-rDnBlbR2JlV_oSY.cache +1 -0
  545. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Lfalx3rOcysdbuZMY4pUXKmWLoq6qhQMS90zEC92fIE.cache +0 -0
  546. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LgPEh1a-gczEJtPS0dY6rOFu_So64fKoAqSbKTikeSo.cache +1 -0
  547. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LyXwxormtRZcaXzIMoQY1GG_cOyfPDRcUrqh4Z-tXzs.cache +0 -0
  548. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LzkTltF6Tj69P3XdIYTgoA8IaSHa0AC4j56nXcJtm_c.cache +0 -0
  549. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/MH6FybAtwkVK595sKGsjJD0cUP7DQgWmB6pzeNk_AKc.cache +1 -0
  550. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/MI1SW5esw79g2uG4wlBVABG4mdf2HXdg16k_J09BELY.cache +1 -0
  551. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/N0BNO49Row05oLOUjvNwSzMD3OkWOiu1JH3x5sIjOGo.cache +1 -0
  552. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NJS_0DD49ggZhk3RhAlbxDtekRUNexcbFBERE3lphoY.cache +0 -0
  553. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NOoCN73Mfou0sHvvMnlOMLECtprgKWNPmOtzGDJL8aI.cache +1 -0
  554. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NnHHX_WjteTP59l5aA8h0tRCVkQaFcn5f59eU-aXRKY.cache +1 -0
  555. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/O28Tl7beTGm8tOGThnfq_yjisj6DwQiS2I3gk0gojmE.cache +1 -0
  556. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OB2JHNrhaYRcKUu-6gOGAOfDGN324cu22pHNTwYUTPw.cache +1 -0
  557. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OFtYh3kL0OSQKgGGpK-F6NLPg2SLyK66Ey3-cJ7bTnU.cache +1 -0
  558. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OGmGlWntiZ7ZVFMeDogZlItG_EYlFr05jg8d9Dg3ON0.cache +1 -0
  559. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OUqmqA_-k5ekc5dju4JFyrJPNJMR5c0dP_FyrtRzsAE.cache +1 -0
  560. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OfuIsxeQmZWy1tbBdvSLPyDTl2uKFmpWtomRtGx-x1c.cache +1 -0
  561. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/P0_YdzVs4se3C_-OBPd86NaCO7bC_QaDqnGh9aY4x-I.cache +1 -0
  562. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/PCTfmMsySv8slVKZHH-9jzxrKL705uiNSaIWUgM51i0.cache +0 -0
  563. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/PR8Q50mMVzmIN_aggQXVKoja0vtL-EAJyEQvK_UCarI.cache +1 -0
  564. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Pg8NuP-Xj3PdqcAYG0YyyUsj90Zn18iPU5lpeHbTDpE.cache +1 -0
  565. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Q6OsC95J6F983SqDNxfJ4hK1oTJo1AcGRZR3mTfYO2c.cache +0 -0
  566. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QCnCQ33fDmdqooEW5dqorhObNkGRcuRJc6iL6dhaswI.cache +0 -0
  567. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QL4HWY_CCW7hJkGLNnxpQS9395ZiFxxrycWmw82FA7c.cache +0 -0
  568. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QZSKy1W0Pl_9ntTk3XD6CxCDYu7JwO-w084ovFu606w.cache +0 -0
  569. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QaJxPv_bif6i_35hKW_bqEoflYTPf62ZihJwno-S144.cache +1 -0
  570. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QjYV_JHbdUV-osJQ_G39-v8aWJs9jk2Gijkv2QxaGqw.cache +0 -0
  571. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QklnVbVBv8BRGfUgG26H0gn1Q74Y4LHJ7n6UW3euIMI.cache +1 -0
  572. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QwFgVzdqWk1U9IJu_iuo48z2wQX0nG4x_WTEpRgQejs.cache +0 -0
  573. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QwGnjp6jYOqq66DmJSJhjMfIzvDjNSQrzNjeuldyVTg.cache +1 -0
  574. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RTW2G_W3mtAiyIltmBhvDkOwXHlmz--SYhNU_ds6JSc.cache +1 -0
  575. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RU8_ju_q3MBZ8d164sgK7zWVBRPM8qYIzNdU_bKoILo.cache +0 -0
  576. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RXRRnxPgyBhfo4V7bZWSebiVZs4gfcEoTVxE586c4lQ.cache +1 -0
  577. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RarKYi-qrs-BQYnbK54qAMURAE424kCrthIwsRgQ94s.cache +19 -0
  578. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/SD3Ol83RfPjB8BS_mcOmO-VJznl69GVwmXJYbwPG77I.cache +105 -0
  579. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/SOqnJbRZjN7VvSGY5McdxjLB2S0ZX8b89h8U-jBczp4.cache +1 -0
  580. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/SswBfs6AV1clSCHB4KAqcuw5NGYaS5PsnpweXcPsZi8.cache +0 -0
  581. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/TnEsoTFCziCt_GZ9hA0c_wXARuanwiEk8BfBRGnLy4g.cache +0 -0
  582. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Tp2VZ7l74KvvhtrxOW5lNJD0tGW6xJmoe-6TVTrAbNk.cache +0 -0
  583. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/U7Gd1TAPsiS73V6Z1VYeeWlMP3Isrz8rEW1t2zRyCCA.cache +1 -0
  584. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UBnE_4EiOap1HqQbVH5sIW7RheUyTF9aApgtpR5JL38.cache +1 -0
  585. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UIShRK0o5Pt9qRzaTTv6DZ60frQqalz6Dca3oLJm42Y.cache +0 -0
  586. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UQWoOMkPIYRJx_FDpHJgPXVvbE1kc4_4-UpMvLihRiU.cache +1 -0
  587. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UXlxEIkPihLXpIBMLjzup5wro9EjhJLe_UGDHm5VhKs.cache +1 -0
  588. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UtwxNuCOYG4rcIhlD7HelYaZIqYt3nltQ_w2K_-p4Ck.cache +1 -0
  589. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/V5DOA129DSkbRyS-gpsjFdXX-RdU4LJwbACHfF3o4oI.cache +0 -0
  590. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VBryDxFVdHbfUxOFTOCO_MgvBar61L8XqQXLKd3bJNI.cache +0 -0
  591. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VCVA07H6JUbiTcijMKFnZpTe9b12jAnYdzlFN0Ny5R4.cache +0 -0
  592. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Vfl8HC52-bbviS84eEZxrXi1-ioECC3he2GU6vVfryY.cache +1 -0
  593. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Vh11J3D94ta2uMLHH-7k5q_Icv81FaUgiI7P7hk-t_0.cache +0 -0
  594. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VlJzoDet-Pb5a-m10rz153Kx_-emGvjG4UuIGwX3M40.cache +1 -0
  595. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W-4phS1xYaMGFda8d1u3_Zj6k4F-_H2cSnifylCpngI.cache +0 -0
  596. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W05fMg1C5j-h8AxLMarGbpJ1VRvgkaEuBNV1lCBhpIE.cache +0 -0
  597. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/WPdAL_Lqgb7_4yjLuRkEvSCGiZKP6nSo_-ChjS-_lE4.cache +0 -0
  598. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/X1oq-rIggwESRIEYhYkgkoWmg7pmEllUVyp-LONyPQ8.cache +0 -0
  599. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XYiutOiHAp8RwwiVfSijdh-8UiVCDv0_wZEThtff3b4.cache +1 -0
  600. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/X_mZKcs3iyMNlkfrt3L1moIZ89J9WAMs-UZFrOUd4dY.cache +0 -0
  601. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XgZCchZuerFn9jRwXqhox03zPvnO6zGMFonkXXSsSFM.cache +0 -0
  602. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XhxIIqWR8_UIEwpJ2uwdeN7ADla96LIq1UK2mZlaN5M.cache +1 -0
  603. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Xkx8icYIHXIHJmUqjuiNzd1figVtMQ_mu1rXDajGwMY.cache +0 -0
  604. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Xwvzd4LlA0IbFYPyZItdhvA2uLrMnuTiMFjFpByJbkw.cache +1 -0
  605. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YIuk8i59pWUFreVXnyBoV7aS3c5jeinwWdfU-l9jJDI.cache +1 -0
  606. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YjzxuCef_6LBQ3XNaItf-sCynDcMZc5XiOZfJMkTa0M.cache +1 -0
  607. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Yq5TAUpNe4UyScrtPvm5rhtJHeIdeM2lHMtHLtANKdE.cache +1 -0
  608. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YqSyIrjbDjhodfq_KOe3xscOxddDT7_Bk0dpTgnC578.cache +1 -0
  609. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Yu6J5-BhGgBpLhcv0ZciFVC7y8O7Ssk2qPU6p1AdObo.cache +1 -0
  610. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Z7lgC4S1HJT5MBm5kJgIqxozY__pC66SviBV_rxVuiU.cache +1 -0
  611. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZMsxYb7MZs4eOp9vf1GqVjWL7J38-6PGKgqflC7o5Hc.cache +0 -0
  612. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZdaS2o6E-OeW7HrwZcjUM4USCtwydIVYjL1DP0l407c.cache +0 -0
  613. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZrK6oI42856G53uiS9Bm2OG3wVQwl-wrmp_FkmprtpU.cache +0 -0
  614. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_-jJI90DyQhMvgaZq2zoOhkRQJWpD9hIJ0pp056vLns.cache +0 -0
  615. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_ClMSBItDYjLNQAatrzpg-keANlRkz1SI2vxGa8ycT0.cache +0 -0
  616. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_GIKnKOoV9ZF8Al739SyzWhD-GN0YfdERfHlAxJ_4sk.cache +0 -0
  617. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_K_Uif6gYLD6Ri7jJCbtFldLVD2YMCZHhKWuWl0hq3w.cache +0 -0
  618. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_m788jlvKlZMNcGNWyuhzBbsC55krOzJmVEf2ujFreo.cache +0 -0
  619. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/aTmKVUEqneywgst_BBiwZnkxE8fdf16swyVbYTh3dko.cache +1 -0
  620. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/aU_EdTwbIP23W3D-slo6v3xLrrTCKEZgdamn4M_Reos.cache +0 -0
  621. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/aYKzEnXfqZxOvd3rAOCGL8eIP9f8EJumJVNRpvYUqfQ.cache +1 -0
  622. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/atiR0R0CAj5PD0ruX_nONGxh_sPXGRUd8bKChAg-iyw.cache +1 -0
  623. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/b1FK619DMnZMJ5Uuoz0Laj5U6x49A2JKRrodQ85Z39w.cache +0 -0
  624. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/b4qgRJnAj2Y5q_JgarDi-P08oAWNVHILzFIrZ5AwAJI.cache +0 -0
  625. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/bOJr3AhtPOMx9ejMmsJYzgskmzZ_SMdN9yfTf17CkVs.cache +1 -0
  626. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/brdVDUPanvjgpUirkFiZ0-uQUCkainrBvL53yChjeNw.cache +0 -0
  627. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/bto6afDJ16B0PlFYq7XXhi6IvJcJLUlOXCtdkg8NdPg.cache +1 -0
  628. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/buZYlq1zs42SAmiZLJCuyXgYmzc-2hAQnrfx9ehsUBY.cache +1 -0
  629. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cNl8gR2Lavef5KAE0XyueIXnTpjvj73OHFzPx8iBrlw.cache +0 -0
  630. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cTrmxpXU9ApI086ePHzFAq0j7B_B1_YvJvz0RzmmTCA.cache +0 -0
  631. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cfRx3ipBTXBD0h2rd1sKk-L5DabMC5E9A-gctjVekWA.cache +0 -0
  632. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ci1SmvlG70ux0eVB4T2Hq0uMWUEUrW0d99t-RCUyyG0.cache +0 -0
  633. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ciQ2R18kG-tyiFJ3HJ7yTiiaSrikiA-dyahRpIthlkk.cache +1 -0
  634. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/d2IRgpfaj8Mcw7iDjpw_Pd6c-ZB4pnAfFxcJujLXVPw.cache +0 -0
  635. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/dRIV8oZy_Qn6eC4ThOJEfprH26YY3tjRLQiigpVSgOA.cache +0 -0
  636. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/dkuz9zm5ESeLfVVwzPl3bUg0e6Rqg2MZXxAhMtXoJj8.cache +0 -0
  637. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/dq4Tsiwd3ZB3JxjBMStyXCGC-esAhMmpbUY4t6lRuHM.cache +1 -0
  638. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/e1UTzoa3w2cfZQqN9uWGzWr4hkAvGoDO2aHIljsoizc.cache +0 -0
  639. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/e3-sQb70y3jHaD07YEZiJ-DQfcrqnRP3atG_5bu8HTY.cache +1 -0
  640. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/e5P56HyISEQtFOD-_07iacjJvkfnjBetUIBJf7BgaaI.cache +0 -0
  641. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eFeAdQ5B7BQIdYq-P8jMfBVvn8JpnVUn8WRFuWnFD1I.cache +1 -0
  642. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eMYjRGGfXZxScoR1PjKplOLyXqR_PSgZ2e799iqT2Rg.cache +0 -0
  643. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eY6__r1VgPA_sUFUGSWTFPzbn-i_prhrv2Z6xNL-x34.cache +1 -0
  644. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eZlYE44-8BUpBm8cidvhwxjZNoUewE9SDAjRahCvX8w.cache +1 -0
  645. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ehi2OrT9vnbTMNHw-iPa26VUVtDZqY7fDm0-IMGpkCw.cache +0 -0
  646. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ejVQcfTBkjEAMtNdDnz_a081cNvSmcob9HECjKA3SYk.cache +1 -0
  647. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eprfeyusllUgPu89H6tx9tCiupwxnfl6BWQjj6K4IcU.cache +0 -0
  648. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fDCMk3VTrgyg45sDyEWpAR01Z1wgFJLJ3OW_e_bTy7c.cache +0 -0
  649. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fGhle70_knfNKLnBhkaoCOnkXa_w_zDc54zI2Ai9QUw.cache +1 -0
  650. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fO8BZ1pSfeHoeEfxNn87mpWvbfnwE7S0iDMI6gDg-zk.cache +1 -0
  651. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/fzJdBiDo7FHxGo0Yo2KKBMiS2sCllVpPw1K8LC2t1pA.cache +0 -0
  652. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gJBKZgBfpSVFA1ioBj3sw-ej_2E5osWxz-EOIWsVNq0.cache +1 -0
  653. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gK-V98E7cO1u-xt632svaYaeLKHrwVdN1el_Tf7OdjI.cache +1 -0
  654. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gL6Ftk12EQ-c56kvi6mYjDBpVEhVHwm60ZFp-fyo9vs.cache +0 -0
  655. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gj0kWoYz_O6ptxHG9gLTLgzJlxNMQ7UgjjUTSnMiDys.cache +0 -0
  656. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/glV3tqN6rfMtWtfHT0_oTvuEHV0o2rV1Ma-T62Pq1o8.cache +1 -0
  657. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/graU-e4yIipr7ZSCf6lM6bmH4LDIZtgp2MI777l_IMA.cache +0 -0
  658. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gu2rIo1OFVLfxzxVGyw5ZsHWZGejzrzjnvX24oiGR-w.cache +2 -0
  659. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gyFpNnWQp4_Hq_JG5iaZ1_V8lcxU7EkMMok2r_dmAJI.cache +1 -0
  660. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/h1HelHQXMwT6cGdcG8mWrbxvfqeh23ke3j4oCenQrfQ.cache +0 -0
  661. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hJFyMrbkoWRAGvCsSb8jDkE0zRbYNHYHmrvneV5rNpE.cache +0 -0
  662. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hb3qUfgxsCRjJnrMC7DqzNNfjTwcGTlsypxBZFwt1L8.cache +1 -0
  663. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hkJJ01ATHIvI6x6zh1xBaitcoDK1NQbJNs_3oqcY_Tg.cache +0 -0
  664. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/iIgYiHp_87ujUPWmg3DAOju2EgekJtl_ZF7LmKl1lI4.cache +0 -0
  665. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/iOw2L1RkhXlm3YhifknLkRW8sIbWQvTQutWE2awOk-M.cache +0 -0
  666. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/iXP2sX4KiBPouSh0ePODxvKoMiW2PQog5Ktladan2_o.cache +1 -0
  667. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ifnHDGmGE3XnB9zwYbZVVpBoR_NaVMt8GUeiN2MsdHk.cache +1 -0
  668. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/igEaqPVgdElZfVqP3XJILzh8OirFjcDnoVNXNu_Ci0E.cache +1 -0
  669. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ih2NImCRnfFX8d79xQYc4Z6DVgjjI7_TY146Xe3sjOQ.cache +1 -0
  670. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jB0ZFcqrW6VUi_sNT81XAW29L509iMyKomvnK9upgzk.cache +0 -0
  671. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jHlrtUhKTtjANlTGI5RhTEXU5She5s4DUBgfBtdFCLI.cache +1 -0
  672. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jY7L80PVtlzW8o5IViA50lp2KhX8XWdWh81WPkbyz7c.cache +0 -0
  673. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jqlD5l1U5ZrdRMdutXMV2yTNAYeiPWkElR8on58imrs.cache +0 -0
  674. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/k2dt-mmzTcpfbEwSu07f7uq-eti-DBpOkAdUZPc9C4k.cache +0 -0
  675. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kFWVZecoz1kW3Wobp6_rZH1WRsb8m5GFkAhPC0VEUPY.cache +0 -0
  676. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kHBaM2fOz0224c4c62qeVx16vFxlijX4UJZp6oA8g40.cache +0 -0
  677. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kV-EY_oYRYsVMyVc90iLAVk17OWwWFQ6OqUMi-YdNv8.cache +9 -0
  678. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kXhmcRnQ1DMKO500oXLgbQATMlZ4J6jaK5sM1l0jn84.cache +0 -0
  679. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ky7PLTdm-fpj2wb7As1WG34psSb9vnu9g8tcbjOYVGk.cache +1 -0
  680. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lAkkBi-SBWauvtX8gUAbSHpkQv8tTN5Ao89ZekrHOA4.cache +1 -0
  681. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lFazcVEqdNP_u8ktAbDLNJXV8hZU8IhBkbPYdM-7mZg.cache +0 -0
  682. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lIXpLp9Ksp8SsGX1waXXnIvcDtPotycT4PR-6y5r7kc.cache +0 -0
  683. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lLgAoQdQcLX5OADukstsUdWyCWkwhFDco_x5HrC8RKg.cache +140 -0
  684. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/le23hz0CHWNBn47lLpU5O4RnAhWMeZhbpT1HJZVL4C0.cache +1 -0
  685. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lpGGGP2ZEZ-AzpaodLPhuL-ofq2WTTzYz9FRPHWfdu4.cache +0 -0
  686. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lzIlyywNJ_DeKA8f2hHho-0GFFannFJsQ1hqQLiOu4o.cache +1 -0
  687. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mFDLBh9qPX-WwfxnM2CwV08EYNBpCntXor65I2g5zEg.cache +1 -0
  688. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mOc6-R14LV_aNyEj4Kctb9sdf2OTNT1eJd6gq3-1ZqI.cache +1 -0
  689. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mk7SmWmZqpNqz95LWKih8v3rtP7a2aQDN8pgjSj3qDA.cache +1 -0
  690. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mn1hUZrlYsuULP48vHtFh0JpLzJKgNWWCmNnbLD-GTk.cache +1 -0
  691. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mz52qfsOMUKqALEsn_TqTe6U636ZF5gBNgcFzHY3Q3k.cache +1 -0
  692. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nDXW7K6M6_yyhIv-6bGeS1aN2ezwRZRwcNpfwdBp4J8.cache +1 -0
  693. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nIBiA_CFLpPtwIzw_PhGUNVSYuaIn69kPfR94E4L3Hs.cache +19 -0
  694. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nToh0VToMkuzWPFW1NUIiFsdyiQMob9tV203qq3WpZo.cache +0 -0
  695. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ni5PVuP8H7CBkGdwpQAqP5-MssEVjd5gNKWvf0SOolg.cache +1 -0
  696. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nihP0YNwxwKdpMlyN9ZNePfSx1dAemJjIUZik7SlYxI.cache +0 -0
  697. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nzUWR8xDKZ_Ir7DXHpxR-zOwHC-yWsR4YL8k520DNfc.cache +0 -0
  698. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/o1DVS19Zc2CqckQofSeuHUs66vv5SobsBHK3pS_-5FQ.cache +11 -0
  699. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oH-hbt3vGnTckrMe1K-3JrzfzkfcloPDQ4L0CFn1bwM.cache +32 -0
  700. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oWmxYxRCTTlDAsSdOZRIvNgLaGJxtb_WIONB4ftWCG8.cache +0 -0
  701. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ofLUP_Yk8AXybQ9gzUU-we1S7_LA8il_aIE1sXniOrU.cache +1 -0
  702. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ojMiDmtBMyF_KT3txYukUKUL5Kj2yIZmFEJpzObtxgs.cache +0 -0
  703. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oq69gqQBKyOzQHwGAPT-u1zyv_GVTDDDacsF366746c.cache +0 -0
  704. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/pDd5HlYaW01ZecvMLIAubLwMTNCTfqDgVdIeeHMuDQI.cache +0 -0
  705. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/pNuI7nym5ZtskUMpJgLr4RWmFpHhY_dZLA5NwSK3dis.cache +0 -0
  706. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/pkZR29akn1drRpVUOeTHNfD_gnE0AWXYaXcE56HVJ7M.cache +1 -0
  707. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qHhRJPrgqNW7mXcmW3VxIulf9QHQ30-sbvHUng52Sjk.cache +1 -0
  708. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qKlEUp2I8S_8cU-IooV08s2MujEdsFS1pCQc_QTRzCc.cache +1 -0
  709. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qfHRPPCKFQus6afwccgP3JNKe5_RYJcy7DYgP8gfnzs.cache +0 -0
  710. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qio20wHZICpzQE4kJ1DarhsVmm_S7azt4AZ5Pq3P9As.cache +0 -0
  711. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qkkFwVb1cVM3YCNThW1Cz1UTypZgAr_zAdeWtV5f8l0.cache +0 -0
  712. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/r9DR1K6ommSyp-M0JTn-UTxyU3bIVKAUqnRBdUu39P8.cache +1 -0
  713. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/r9T1HQ-hSfuQcrL_nSpZ7J6mpU_LiT8Mw2fSA-xQR8A.cache +0 -0
  714. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rQQn3COcRPRzd5CUtTfn5MLHuLvIEj2BR152ESk1kAQ.cache +0 -0
  715. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rctQTrcaea0gbgtr2T3qwYWynbsqv6WQvmjYzNlxlv4.cache +1 -0
  716. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rey0z3BNoJD05np0wY6XcgvA9HibXXcufR_MjzdAuAQ.cache +0 -0
  717. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rnzZU7qrBQCXvieRP1ks4_yYH9txXfNfgTtoujlacW8.cache +1 -0
  718. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ru4jDqqVpEAlQjx5E-f4Fv5D0NLeeI_oDLwKNDkyBho.cache +1 -0
  719. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/saI61t1Gx36NNGQgdFWqxkMpEFrNb9aTxcorD003Ak4.cache +1 -0
  720. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/szb7FhgpUPZ5iwd8P15GLG2Y-nXOZQlPuoNnkZodDZs.cache +0 -0
  721. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/t7Avh-u8ClVbyPheuvXJoNourlIqKwNTXs_7ElS3j8k.cache +0 -0
  722. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/te4pM1TEiH-GIKjOGWISta0-ket_fnWehtdMjFSDiAo.cache +1 -0
  723. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tj75VSAHiWx2gbOaiNbjvSpWEVqjHACSWPwtv2VCoSk.cache +0 -0
  724. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tnkY73Yfb7qArDJBY4gZjw5fyclLqhudGRp78u8AxOU.cache +0 -0
  725. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tpduPkOXPTJYIYuQDQA-RjgaedaTTC_FKPHywx7t7UE.cache +0 -0
  726. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/tpxrga44pIPw4V5vhDYZW9pZdbFHrxF0htVJ7fURkOk.cache +0 -0
  727. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/u3atPL-XOxrUiYxndBh9gf_nOqgsVk1o2uTTF2SubRQ.cache +0 -0
  728. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/u4yYOpNMR6jzA8kEBKWIw4h0AYzXPW5v93E_yzhnc4A.cache +0 -0
  729. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/uP4Fu5bTeMEZY9aGRJwTJtq0In7-18uTCGCfqPdUmg8.cache +1 -0
  730. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/uYRWhPJj7DCOZc-75cumLgmUs0yo3Weg8zv7Yzu1bUI.cache +1 -0
  731. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/uatCh0KL8lRbFxjebfBDG7jOOd1ZWuHMwDDLDDqybjI.cache +0 -0
  732. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vE-x41_K8TQ3Z7XeQTivuiBOGI2lPCsuCkE5oPuqZZM.cache +0 -0
  733. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vTguw-uCigkl0isJPx705KEi1AcWFf6mnEmI6Nq6P-w.cache +0 -0
  734. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/voB4t40IUoMQIKjZQ0NiSHYUGBeDuInHnnrpV0unKy4.cache +1 -0
  735. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/w3WqCYzTelVRx1brN1EL64magy1NxAlV3_tpTubVl9g.cache +1 -0
  736. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wE2EvUFir2Zw_rtB0tPg8Nt2kAdtQ80hutoymJGfjvA.cache +1 -0
  737. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wbGRKNQTK3p7wwn2kZiiyS1HnNTTzvKo0oaHnRhFWx8.cache +0 -0
  738. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wt69bdlXAN1b9lhV8rgWKo9RdzV6gOKAkR0buSZ8_sM.cache +1 -0
  739. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wwdRA7D2ql_Ie9cHUnafLxTYPcI5T-wzbK8RhLsemZE.cache +0 -0
  740. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x3Z_eNYi80gtLQMiTapLgr--wqUapolNPAOoAudKzkE.cache +0 -0
  741. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xBOd1xpwofj-D3bcu-Dfh5hp2tMWBNfxNAp6qe5x0Ig.cache +0 -0
  742. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xCcL_B6JyBZSNMMyvg-BJbZDwAl6fJxYw7GJNBZUwvc.cache +1 -0
  743. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xJ2aUUwebHjY-4Gs1j0-ridrrc6DQck0S30FcL_U1zo.cache +0 -0
  744. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xWkMdV-Akyv9gYdNw2SGbLRMuYVpjMnJ0ILqArzmLds.cache +0 -0
  745. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xeWfanjaDdKH0v3jSQnjOwNev6PTkqNhXQNwH0qSvrQ.cache +1 -0
  746. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xoIgzWIiNa7vXnufFO4-O7VH5UhTmU-HgVhok8h5a2g.cache +1 -0
  747. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xr5BkAXYL4E29303MfN2hOmc-LxEYbzDQpUiN9Qt4k0.cache +1 -0
  748. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/xrYjbWp_UBf36hhBnuuvF2Qpxdi8yj_TQCiA4cxXykU.cache +98 -0
  749. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/y1onYMNB-kLzEeuEI9NF7qYMlVRuTypHXqLa5ozJXTo.cache +1 -0
  750. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yAz1OsBonngvZoLedoNzSOp4kE75i2mglhWfNv05Q4g.cache +0 -0
  751. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yIDJo17UyDMSmBr7SDMK7zKrMWtl5i4Jf8RX-XE9y8k.cache +0 -0
  752. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yQvqeK7OrdTQsommu8-RnFzjFcLavinCoDDqDQEQVrU.cache +0 -0
  753. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yT6ggTIDiAOphCbBIF5ofYw7MebsuoIhMI6XOrSd31o.cache +0 -0
  754. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yX_q6Ed3aaBwSSO81cUXcHyhUCLfGC1fc0cGAQvbpAo.cache +145 -0
  755. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ykDqGI7K5FHyR2BZyrRia-AGUYIdnR6zxsDyJZ6tuw4.cache +5 -0
  756. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/z9I54TIBC_r-x0kO0i-lOhntWDn6y_7cVsa4ERKHEgo.cache +1 -0
  757. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zAkRi8hEYqm3CpbrZx7fBvr2xhWHXDBNGKBlXC-mcHA.cache +0 -0
  758. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zd8kl79CPoe0tIx9BZsUM8goF3Jjln6BqiOFn7ckKyI.cache +1 -0
  759. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zuoPybsXsCBTU15ZlqU_pkrCqXtN97fv4WOzpjquWek.cache +0 -0
  760. data/test/fixtures/api_clients.yml +17 -0
  761. data/test/fixtures/commits.yml +77 -0
  762. data/test/fixtures/deliveries.yml +13 -0
  763. data/test/fixtures/github_hooks.yml +25 -0
  764. data/test/fixtures/hooks.yml +16 -0
  765. data/test/fixtures/memberships.yml +3 -0
  766. data/test/fixtures/output_chunks.yml +25 -0
  767. data/test/fixtures/payloads/push_master.json +84 -0
  768. data/test/fixtures/payloads/push_not_master.json +84 -0
  769. data/test/fixtures/payloads/status_master.json +206 -0
  770. data/test/fixtures/stacks.yml +65 -0
  771. data/test/fixtures/statuses.yml +82 -0
  772. data/test/fixtures/tasks.yml +65 -0
  773. data/test/fixtures/teams.yml +17 -0
  774. data/test/fixtures/users.yml +15 -0
  775. data/test/helpers/api_helper.rb +9 -0
  776. data/test/helpers/fixture_aliases_helper.rb +9 -0
  777. data/test/helpers/json_helper.rb +47 -0
  778. data/test/helpers/links_helper.rb +21 -0
  779. data/test/helpers/payloads_helper.rb +6 -0
  780. data/test/helpers/queries_helper.rb +57 -0
  781. data/test/jobs/chunk_rollup_job_test.rb +41 -0
  782. data/test/jobs/deliver_hook_job_test.rb +14 -0
  783. data/test/jobs/destroy_stack_job_test.rb +16 -0
  784. data/test/jobs/emit_event_job_test.rb +14 -0
  785. data/test/jobs/fetch_commit_stats_job_test.rb +13 -0
  786. data/test/jobs/fetch_deployed_revision_job_test.rb +30 -0
  787. data/test/jobs/github_sync_job_test.rb +51 -0
  788. data/test/jobs/perform_task_job_test.rb +104 -0
  789. data/test/jobs/refresh_github_user_job_test.rb +13 -0
  790. data/test/jobs/refresh_status_job_test.rb +20 -0
  791. data/test/jobs/unique_job_test.rb +17 -0
  792. data/test/models/api_client_test.rb +27 -0
  793. data/test/models/commits_test.rb +234 -0
  794. data/test/models/delivery_test.rb +37 -0
  795. data/test/models/deploys_test.rb +290 -0
  796. data/test/models/github_hook_test.rb +54 -0
  797. data/test/models/hook_test.rb +43 -0
  798. data/test/models/membership_test.rb +12 -0
  799. data/test/models/output_chunk_test.rb +18 -0
  800. data/test/models/rollbacks_test.rb +11 -0
  801. data/test/models/stacks_test.rb +296 -0
  802. data/test/models/status_test.rb +55 -0
  803. data/test/models/task_definitions_test.rb +31 -0
  804. data/test/models/team_test.rb +50 -0
  805. data/test/models/users_test.rb +82 -0
  806. data/test/test_helper.rb +56 -0
  807. data/test/unit/command_test.rb +39 -0
  808. data/test/unit/commands_test.rb +11 -0
  809. data/test/unit/csv_serializer_test.rb +36 -0
  810. data/test/unit/deploy_commands_test.rb +165 -0
  811. data/test/unit/deploy_spec_test.rb +250 -0
  812. data/test/unit/github_url_helper_test.rb +30 -0
  813. metadata +1772 -0
@@ -0,0 +1,5 @@
1
+ class AddOutputColumnToTasks < ActiveRecord::Migration
2
+ def change
3
+ add_column :tasks, :gzip_output, :binary, limit: 16777215
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddIgnoreCiToStack < ActiveRecord::Migration
2
+ def change
3
+ add_column :stacks, :ignore_ci, :boolean
4
+ end
5
+ end
data/db/schema.rb ADDED
@@ -0,0 +1,188 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20150424175630) do
15
+
16
+ create_table "api_clients", force: :cascade do |t|
17
+ t.text "permissions", limit: 65535
18
+ t.integer "creator_id", limit: 4
19
+ t.datetime "created_at", null: false
20
+ t.datetime "updated_at", null: false
21
+ t.string "name", limit: 255, default: ""
22
+ t.integer "stack_id", limit: 4
23
+ end
24
+
25
+ add_index "api_clients", ["creator_id"], name: "index_api_clients_on_creator_id", using: :btree
26
+
27
+ create_table "commits", force: :cascade do |t|
28
+ t.integer "stack_id", limit: 4, null: false
29
+ t.integer "author_id", limit: 4, null: false
30
+ t.integer "committer_id", limit: 4, null: false
31
+ t.string "sha", limit: 40, null: false
32
+ t.text "message", limit: 65535, null: false
33
+ t.datetime "created_at"
34
+ t.datetime "updated_at"
35
+ t.boolean "detached", limit: 1, default: false, null: false
36
+ t.datetime "authored_at", null: false
37
+ t.datetime "committed_at", null: false
38
+ t.integer "additions", limit: 4, default: 0
39
+ t.integer "deletions", limit: 4, default: 0
40
+ end
41
+
42
+ add_index "commits", ["author_id"], name: "index_commits_on_author_id", using: :btree
43
+ add_index "commits", ["committer_id"], name: "index_commits_on_committer_id", using: :btree
44
+ add_index "commits", ["created_at"], name: "index_commits_on_created_at", using: :btree
45
+ add_index "commits", ["stack_id"], name: "index_commits_on_stack_id", using: :btree
46
+
47
+ create_table "deliveries", force: :cascade do |t|
48
+ t.integer "hook_id", limit: 4, null: false
49
+ t.string "status", limit: 255, default: "pending", null: false
50
+ t.string "url", limit: 4096, null: false
51
+ t.string "content_type", limit: 255, null: false
52
+ t.string "event", limit: 255, null: false
53
+ t.text "payload", limit: 16777215, null: false
54
+ t.integer "response_code", limit: 4
55
+ t.text "response_headers", limit: 65535
56
+ t.text "response_body", limit: 65535
57
+ t.datetime "delivered_at"
58
+ t.datetime "created_at", null: false
59
+ t.datetime "updated_at", null: false
60
+ end
61
+
62
+ create_table "github_hooks", force: :cascade do |t|
63
+ t.integer "stack_id", limit: 4
64
+ t.integer "github_id", limit: 4
65
+ t.string "event", limit: 255
66
+ t.datetime "created_at"
67
+ t.datetime "updated_at"
68
+ t.string "secret", limit: 255
69
+ t.string "api_url", limit: 255
70
+ t.string "type", limit: 255
71
+ t.string "organization", limit: 255
72
+ end
73
+
74
+ add_index "github_hooks", ["organization", "event"], name: "index_github_hooks_on_organization_and_event", unique: true, using: :btree
75
+ add_index "github_hooks", ["stack_id", "event"], name: "index_github_hooks_on_stack_id_and_event", unique: true, using: :btree
76
+
77
+ create_table "hooks", force: :cascade do |t|
78
+ t.integer "stack_id", limit: 4
79
+ t.string "url", limit: 4096, null: false
80
+ t.string "content_type", limit: 4, default: "json", null: false
81
+ t.string "secret", limit: 255
82
+ t.string "events", limit: 255, default: "", null: false
83
+ t.boolean "insecure_ssl", limit: 1, default: false, null: false
84
+ t.datetime "created_at", null: false
85
+ t.datetime "updated_at", null: false
86
+ end
87
+
88
+ add_index "hooks", ["stack_id"], name: "index_hooks_on_stack_id", using: :btree
89
+
90
+ create_table "memberships", force: :cascade do |t|
91
+ t.integer "team_id", limit: 4
92
+ t.integer "user_id", limit: 4
93
+ t.datetime "created_at", null: false
94
+ t.datetime "updated_at", null: false
95
+ end
96
+
97
+ add_index "memberships", ["team_id", "user_id"], name: "index_memberships_on_team_id_and_user_id", unique: true, using: :btree
98
+ add_index "memberships", ["user_id"], name: "index_memberships_on_user_id", using: :btree
99
+
100
+ create_table "output_chunks", force: :cascade do |t|
101
+ t.integer "task_id", limit: 4
102
+ t.text "text", limit: 16777215
103
+ t.datetime "created_at"
104
+ t.datetime "updated_at"
105
+ end
106
+
107
+ add_index "output_chunks", ["task_id"], name: "index_output_chunks_on_task_id", using: :btree
108
+
109
+ create_table "stacks", force: :cascade do |t|
110
+ t.string "repo_name", limit: 255, null: false
111
+ t.string "repo_owner", limit: 255, null: false
112
+ t.string "environment", limit: 255, default: "production", null: false
113
+ t.datetime "created_at"
114
+ t.datetime "updated_at"
115
+ t.string "branch", limit: 255, default: "master", null: false
116
+ t.string "deploy_url", limit: 255
117
+ t.string "lock_reason", limit: 255
118
+ t.integer "tasks_count", limit: 4, default: 0, null: false
119
+ t.boolean "continuous_deployment", limit: 1, default: false, null: false
120
+ t.integer "undeployed_commits_count", limit: 4, default: 0, null: false
121
+ t.text "cached_deploy_spec", limit: 65535
122
+ t.integer "lock_author_id", limit: 4
123
+ end
124
+
125
+ add_index "stacks", ["repo_owner", "repo_name", "environment"], name: "stack_unicity", unique: true, using: :btree
126
+
127
+ create_table "statuses", force: :cascade do |t|
128
+ t.string "state", limit: 255
129
+ t.string "target_url", limit: 255
130
+ t.text "description", limit: 65535
131
+ t.string "context", limit: 255, default: "default", null: false
132
+ t.integer "commit_id", limit: 4
133
+ t.datetime "created_at"
134
+ t.datetime "updated_at"
135
+ end
136
+
137
+ add_index "statuses", ["commit_id"], name: "index_statuses_on_commit_id", using: :btree
138
+
139
+ create_table "tasks", force: :cascade do |t|
140
+ t.integer "stack_id", limit: 4, null: false
141
+ t.integer "since_commit_id", limit: 4, null: false
142
+ t.integer "until_commit_id", limit: 4, null: false
143
+ t.string "status", limit: 255, default: "pending", null: false
144
+ t.datetime "created_at"
145
+ t.datetime "updated_at"
146
+ t.integer "user_id", limit: 4
147
+ t.boolean "rolled_up", limit: 1, default: false, null: false
148
+ t.string "type", limit: 255
149
+ t.integer "parent_id", limit: 4
150
+ t.integer "additions", limit: 4, default: 0
151
+ t.integer "deletions", limit: 4, default: 0
152
+ t.text "definition", limit: 65535
153
+ end
154
+
155
+ add_index "tasks", ["rolled_up", "created_at", "status"], name: "index_tasks_on_rolled_up_and_created_at_and_status", using: :btree
156
+ add_index "tasks", ["since_commit_id"], name: "index_tasks_on_since_commit_id", using: :btree
157
+ add_index "tasks", ["stack_id"], name: "index_tasks_on_stack_id", using: :btree
158
+ add_index "tasks", ["until_commit_id"], name: "index_tasks_on_until_commit_id", using: :btree
159
+ add_index "tasks", ["user_id"], name: "index_tasks_on_user_id", using: :btree
160
+
161
+ create_table "teams", force: :cascade do |t|
162
+ t.integer "github_id", limit: 4
163
+ t.string "api_url", limit: 255
164
+ t.string "slug", limit: 255
165
+ t.string "name", limit: 255
166
+ t.string "organization", limit: 255
167
+ t.datetime "created_at", null: false
168
+ t.datetime "updated_at", null: false
169
+ end
170
+
171
+ add_index "teams", ["organization", "slug"], name: "index_teams_on_organization_and_slug", unique: true, using: :btree
172
+
173
+ create_table "users", force: :cascade do |t|
174
+ t.integer "github_id", limit: 4
175
+ t.string "name", limit: 255, null: false
176
+ t.string "email", limit: 255
177
+ t.string "login", limit: 255
178
+ t.string "api_url", limit: 255
179
+ t.datetime "created_at"
180
+ t.datetime "updated_at"
181
+ t.string "avatar_url", limit: 255
182
+ end
183
+
184
+ add_index "users", ["login"], name: "index_users_on_login", using: :btree
185
+
186
+ add_foreign_key "memberships", "teams"
187
+ add_foreign_key "memberships", "users"
188
+ end
data/lib/command.rb ADDED
@@ -0,0 +1,173 @@
1
+ require 'pty'
2
+ require 'shellwords'
3
+ require 'fileutils'
4
+ require 'timeout'
5
+
6
+ class Command
7
+ MAX_READ = 64.kilobytes
8
+
9
+ Error = Class.new(StandardError)
10
+
11
+ attr_reader :out, :code, :chdir, :env, :args, :pid, :timeout
12
+
13
+ def initialize(*args, default_timeout: 5.minutes.to_i, env: {}, chdir:)
14
+ @args, options = parse_arguments(args)
15
+ @timeout = options['timeout'.freeze] || options[:timeout] || default_timeout
16
+ @env = env
17
+ @chdir = chdir.to_s
18
+ end
19
+
20
+ def to_s
21
+ "#{format_env} #{@args.join(' ')}"
22
+ end
23
+
24
+ def interpolate_environment_variables(argument)
25
+ return argument.map { |a| interpolate_environment_variables(a) } if argument.is_a?(Array)
26
+
27
+ argument.gsub(/(\$\w+)/) do |variable|
28
+ variable.sub!('$', '')
29
+ Shellwords.escape(@env.fetch(variable) { ENV[variable] })
30
+ end
31
+ end
32
+
33
+ def format_env
34
+ @env.map { |pair| pair.map(&:to_s).join('=') }.join(' ')
35
+ end
36
+
37
+ def success?
38
+ code == 0
39
+ end
40
+
41
+ def exit_message
42
+ "#{self} exited with status #{@code}"
43
+ end
44
+
45
+ def run
46
+ output = []
47
+ stream do |out|
48
+ output << out
49
+ end
50
+ output.join
51
+ end
52
+
53
+ def run!
54
+ output = []
55
+ stream! do |out|
56
+ output << out
57
+ end
58
+ output.join
59
+ end
60
+
61
+ def with_full_path
62
+ old_path = ENV['PATH']
63
+ ENV['PATH'] = "#{ENV['PATH']}:#{Shipit::Engine.root.join('lib', 'snippets')}"
64
+ yield
65
+ ensure
66
+ ENV['PATH'] = old_path
67
+ end
68
+
69
+ def interpolated_arguments
70
+ interpolate_environment_variables(@args)
71
+ end
72
+
73
+ def start
74
+ return if @started
75
+ child_in = @out = @pid = nil
76
+ FileUtils.mkdir_p(@chdir)
77
+ with_full_path do
78
+ @out, child_in, @pid = PTY.spawn(@env, *interpolated_arguments, chdir: @chdir)
79
+ child_in.close
80
+ end
81
+ @started = true
82
+ self
83
+ end
84
+
85
+ def stream(&block)
86
+ start
87
+ begin
88
+ read_stream(@out, &block)
89
+ rescue Timeout::Error => error
90
+ @code = 'timeout'
91
+ yield red("No output received in the last #{timeout} seconds.") + "\n"
92
+ terminate!(&block)
93
+ raise error
94
+ rescue Errno::EIO # Somewhat expected on Linux: http://stackoverflow.com/a/10306782
95
+ end
96
+
97
+ _, status = Process.waitpid2(@pid)
98
+ @code = status.exitstatus
99
+ yield exit_message + "\n" unless success?
100
+
101
+ self
102
+ end
103
+
104
+ def check_status
105
+ end
106
+
107
+ def red(text)
108
+ "\033[1;31m#{text}\033[0m"
109
+ end
110
+
111
+ def stream!(&block)
112
+ stream(&block)
113
+ raise Command::Error.new(exit_message) unless success?
114
+ self
115
+ end
116
+
117
+ def read_stream(io)
118
+ loop do
119
+ with_timeout do
120
+ yield io.readpartial(MAX_READ)
121
+ end
122
+ end
123
+ rescue EOFError
124
+ end
125
+
126
+ def with_timeout(&block)
127
+ return yield unless timeout
128
+
129
+ Timeout.timeout(timeout, &block)
130
+ end
131
+
132
+ def terminate!(&block)
133
+ kill_and_wait('INT', 5, &block)
134
+ kill_and_wait('INT', 2, &block)
135
+ kill_and_wait('TERM', 5, &block)
136
+ kill_and_wait('TERM', 2, &block)
137
+ kill('KILL', &block)
138
+ rescue Errno::ECHILD
139
+ true # much success
140
+ ensure
141
+ begin
142
+ read_stream(@out, &block)
143
+ rescue
144
+ end
145
+ end
146
+
147
+ def kill_and_wait(sig, wait, &block)
148
+ kill(sig, &block)
149
+ Timeout.timeout(wait) do
150
+ read_stream(@out, &block)
151
+ end
152
+ rescue Timeout::Error
153
+ end
154
+
155
+ def kill(sig)
156
+ yield red("Sending SIG#{sig} to PID #{@pid}\n")
157
+ Process.kill(sig, @pid)
158
+ end
159
+
160
+ def parse_arguments(arguments)
161
+ options = {}
162
+ args = arguments.flatten.map do |argument|
163
+ case argument
164
+ when Hash
165
+ options.merge!(argument.values.first)
166
+ argument.keys.first
167
+ else
168
+ argument
169
+ end
170
+ end
171
+ return args, options
172
+ end
173
+ end
data/lib/commands.rb ADDED
@@ -0,0 +1,25 @@
1
+ class Commands
2
+ DEFAULT_ENVIRONMENT = {'SHIPIT' => '1'}.freeze
3
+
4
+ def self.for(model)
5
+ "#{model.class.name}Commands".constantize.new(model)
6
+ end
7
+
8
+ def self.git_version
9
+ @git_version ||= begin
10
+ `git --version` =~ /([\d\.]+)/
11
+ raise 'git command not found' unless $1
12
+ Gem::Version.new($1)
13
+ end
14
+ end
15
+
16
+ delegate :git_version, to: :class
17
+
18
+ def env
19
+ @env ||= DEFAULT_ENVIRONMENT.merge(Shipit.extra_env)
20
+ end
21
+
22
+ def git(*args)
23
+ Command.new("git", *args)
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ class DeployCommands < TaskCommands
2
+ def steps
3
+ deploy_spec.deploy_steps!
4
+ end
5
+
6
+ def env
7
+ commit = @task.until_commit
8
+ super.merge(
9
+ 'SHA' => commit.sha,
10
+ 'REVISION' => commit.sha,
11
+ )
12
+ end
13
+
14
+ protected
15
+
16
+ def permalink
17
+ Shipit::Engine.routes.url_helpers.stack_deploy_url(@stack, @task)
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ class RollbackCommands < DeployCommands
2
+ def steps
3
+ deploy_spec.rollback_steps!
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ module Shipit
2
+ module CSVSerializer
3
+ extend self
4
+
5
+ def load(payload)
6
+ return [] if payload.blank?
7
+ payload.split(',')
8
+ end
9
+
10
+ def dump(array)
11
+ return nil if array.blank?
12
+ array.join(',')
13
+ end
14
+ end
15
+ end