shipit-engine 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/shipit_controller.rb +1 -1
  3. data/db/migrate/20151112152113_reduce_tasks_stats_size.rb +5 -0
  4. data/lib/shipit/version.rb +1 -1
  5. data/test/controllers/stacks_controller_test.rb +1 -1
  6. data/test/dummy/db/development.sqlite3 +0 -0
  7. data/test/dummy/db/test.sqlite3 +0 -0
  8. data/test/dummy/log/development.log +14492 -0
  9. data/test/dummy/log/test.log +41089 -0
  10. data/test/dummy/tmp/cache/5F5/7B0/task%3A644540443%3Apid +1 -1
  11. data/test/dummy/tmp/cache/5F7/AA0/task%3A496901070%3Apid +1 -1
  12. data/test/dummy/tmp/cache/5FD/BF0/task%3A616453971%3Apid +1 -1
  13. data/test/dummy/tmp/cache/7E3/0B0/stacks%3A1%3Aci_enabled +1 -1
  14. data/test/dummy/tmp/cache/7E4/190/stacks%3A2%3Aci_enabled +1 -1
  15. data/test/dummy/tmp/cache/7E5/270/stacks%3A3%3Aci_enabled +1 -1
  16. data/test/dummy/tmp/cache/98C/C60/stacks%3A616453971%3Aci_enabled +1 -1
  17. data/test/dummy/tmp/cache/991/020/stacks%3A805262699%3Aci_enabled +1 -1
  18. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-XhVyuOLxQ9lICl9M65_yrNHAPCvvhLozbIJEzLHAVo.cache +0 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0vd_N1Hic9fb8HYrW8gwl41NWLFBJtesVNdYEVHPdDY.cache +0 -0
  20. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1y_ZL7effP9hskGHi26SSssmo45A6Pur9E2_7b2tb3Y.cache +0 -0
  21. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2BehGSEBw23wTmFhrEppo8dGMqYx9_h1HnPnpVKYvAE.cache +0 -0
  22. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2cYitdxZWAsgjTbp-d9mHRO-TvA94L2oVgM1ismexb0.cache +0 -0
  23. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/4RJoPjM6TIIfRH-YZz3j1sTsIOuBG17A616Jttioveo.cache +0 -0
  24. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6EBcPORAyq-H-k9xyn9kcKdLD4DpeEA8z7QBajAasKk.cache +1 -0
  25. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6dmTJIeVb_clll5M5sXaue6G5SbKbQkanhoJ3XPx5Io.cache +0 -0
  26. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8U8wM23CZGXEKMtkHQTSwImnNwwQqmwOO8-G_5MYeuw.cache +1 -0
  27. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9-m6kv81IS8A8zfr5Sn4ZIj9dGygLnLan_zfFa7bO4E.cache +0 -0
  28. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9MschgQ4_HiW3Z6u4iBCgY103zENimZpNhXFjgkIF_o.cache +1 -0
  29. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/9Qz2pIp-mxjL8bu_dTMa8KVHuy8Fm55SOWS9d4jlrxQ.cache +52 -0
  30. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/AabXYXVOc57olkgEpqzBgoul30nc0U4ekwyqkJgu4l4.cache +0 -0
  31. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DQDt7RsWmW89tgReZALUHn4nJbaBCE-_GKfSyocqwzw.cache +0 -0
  32. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DxUdnaAU8RZCRXc8ABiCldVnHry4bFO3EPrCohq4FEI.cache +0 -0
  33. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Ed5D-0u0BKMms6OQSiLZLSYbzsvm-_TEiZ97ueqpY44.cache +0 -0
  34. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GjzHbFeaFoOvC8CJaPq8D7peK9Y6BleJruxF8TH2Cl0.cache +64 -0
  35. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Hcs7avkdizKbFbJWWzjMGRTVn0mWGc5zbGy3rcHDF78.cache +0 -0
  36. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/IRSIXqzwg_kQIEO5syk6Ej1l4XLi3IcYB70A5IHctAA.cache +105 -0
  37. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JGCxw9zP8hS9l1Ho313CAIdBiHYi68-xJ1haqSAaalQ.cache +28 -0
  38. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JQ8n4TH3kuPzDkGXdft77ktId3xDdNuPysNdAIrlVsw.cache +63 -0
  39. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KdooW3a2i6i7_5PjBcoeGqmFBMNJKlGNoYdGtdmdods.cache +30 -0
  40. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LKVcVo5127myQDUf1RPyi0Og8TrHa5Zr9ohfo0JlhEA.cache +35 -0
  41. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/MwX_oS7STvHHd11eeacJJMThTPAsd8c0-5kPXpH0BKY.cache +1 -0
  42. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Nud6-hEkHwBvKLpMMjnSejU9P9d-ONvOznYGWNVJqvc.cache +0 -0
  43. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/PFwzNcPXocqNBN-T-R0IcLMpGnPueKC-frMqt7ydXgE.cache +17 -0
  44. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QCr3WPcPkQqDKsm0UADGgT1VZJ_vYA7wXPzD-ISACcE.cache +0 -0
  45. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Q_nuuoYmC6r9chLr10vE1HDOoVcMTQCQ8QaustQA078.cache +1 -0
  46. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RCwEyQE4DefenQqdSqnh0WV6Nl6xbqJlYaUK6ztHGuM.cache +1 -0
  47. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RacQBgjyAwx_GgAY811XGnBflvfM_STswwRJwcPQxv0.cache +1 -0
  48. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/SpC9c458aDyelAUhVbFaSRU6pe6xNk3VYs_Qq8B_yiM.cache +0 -0
  49. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/TKeNIG8auoAZfh_l71khs3nB3_Xs-YieTJ1OVKc5T3o.cache +0 -0
  50. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/TZ9u5d2xfH0Hhr6drrkdyg0p4BGQWEqAt5G6jXH2SCM.cache +1 -0
  51. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UjjjQ0uu3m1EAa2pZII56gqMK5kkqIJAuRjIC_xEUh0.cache +0 -0
  52. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VKZjmgNi6nsZ_lenJip0iNammCuBNW2z5oIvRniTJ-w.cache +0 -0
  53. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/W3JpGFR_4F0RfRrDTsXyU0Nio5OKFvmvZUeb81tt4RM.cache +9 -0
  54. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/WhTkOXhnBVdZN7CDX7QGjRSo7H2jPG8oDa1RT3kRqEI.cache +0 -0
  55. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Wv4EOarouKJg2_O41NPnoWTZxpM9eZFMfidiK-_SkQA.cache +0 -0
  56. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XUfFYpuckB2d3prNDaCDT_AQBjBSvFdE3DExflZjzuQ.cache +128 -0
  57. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZFXLwZ6yzf3Z2ZWX2hUb4jJZCBU-lBMwPbQMKSzNNvA.cache +11 -0
  58. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Zm7XUcI996G2YV1E60HsUmJEaqrG5rRGarZQjkMkEqw.cache +0 -0
  59. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_t5QFEhnjjkO_god2dG6L5DNzghprl7r8vraXXUYSGQ.cache +1 -0
  60. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/a2Gk1Fj6ihYGDqwkTj0TDvalu8Szvd5gyoiz0iH7oHI.cache +0 -0
  61. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eRw6YZNFr_Y68h7DEgeRs11JCF41N0HsHklUT8qQNFU.cache +0 -0
  62. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/g86U7e1QqDQ4ZmShNbO0pUjlP-t04lR6gLlbDaCVCgw.cache +0 -0
  63. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gMmdmmexTGqU7e5fNGQ1TC4ujI-DqBCgVtM4ASKKytw.cache +0 -0
  64. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gMmpywAwZ6bKN7vqWoP-IDxBfLoOGUhRaW3oY_sELsE.cache +0 -0
  65. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gNv5lItMIlrPt1bx4PK5w53tEGwzDhTnwDvx6KeR2ZQ.cache +1 -0
  66. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/g_OnKtCoJHs6Vwslpt6jHI8P22LBegrtDW6r1fzg7ak.cache +1 -0
  67. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jr0OQHxL2m9s4ytG85H-zzyTHIrdPsnUp0sU15kEqVQ.cache +145 -0
  68. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mAG0HzHvBku4frSoq_P9zd5FRLih9ph-p84ocp0CBN0.cache +1 -0
  69. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mAcfXZ-lWbAGimbbd0XbJ9v8p6d3ot2X-FBpQSSYtyc.cache +1 -0
  70. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nrV5QMx0DB1aSJ1uDwdmc-MAmL4N3bMTzmPMbMbWtnc.cache +0 -0
  71. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oNQ876QVmb8eSyzSt8RPtKyUPX4KUSsOWYuhGOtYCJk.cache +1 -0
  72. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/owLq3jYdcnrpSkEGnMjO2C3EdNP8-fR8Z1H4EAa_oUQ.cache +1 -0
  73. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/p8PoBJeYtCNp2Cq6WuU_qEJU7rncSDU5TzkUFKkVQHA.cache +17 -0
  74. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/sR8yfgzv9nmMx8vLv9PCe7_fTyO0pIiyY4CCR25jopA.cache +0 -0
  75. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/uTu85-gh6J9wpl0OO_2DRzg-FvFWfusDoERCnucOg2Y.cache +1 -0
  76. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/uiH5GPD0so8JcSwrfuudyrcwDv6pwOU-G0yoXt5V6q0.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vaYm-hYQGfqQV7izliGnlCuQ4Ot8x_0PYDRFpHE4O1A.cache +20 -0
  78. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/whTZ5nBzqTzMtlljJzRtBpjEK69EeCSXcZjIXfgYGN8.cache +0 -0
  79. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wiQFE8Zd8qIhUAtCW5QRiGHH2QOhSVBF71yJWjpvceY.cache +0 -0
  80. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wx25QHoWVG1N4sek-Gl6v5tL052-drOLmDTyhzmUMJg.cache +0 -0
  81. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/x_VNON7YJCfpXT3e11ycWhruUQzTjee2GyYCoKCQTYo.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yVBVZ0mwLoGexBn4BqkI4IP0EHm6cgSJxDl13lutNAY.cache +98 -0
  83. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zwA-o2IDU0VCCaDQj3nnLvhJAI_HFO6x2hIxWqAaKAY.cache +0 -0
  84. metadata +103 -4
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/shipit/flash.js.coffee?type=application/javascript&pipeline=self&id=5987a198fa0b4415a517ebe49b4023550972ebbc83291aceb7f9f354230d1ead:ET
@@ -0,0 +1,17 @@
1
+ I"K(function() {
2
+ this.Shipit || (this.Shipit = {});
3
+
4
+ this.Shipit.Plugins = {
5
+ config: function(name) {
6
+ var config, error;
7
+ config = $("meta[name=\"" + name + "-config\"]").attr('content');
8
+ try {
9
+ return JSON.parse(config);
10
+ } catch (error) {
11
+ return null;
12
+ }
13
+ }
14
+ };
15
+
16
+ }).call(this);
17
+ :ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/sticky_element.js.coffee?type=application/javascript&pipeline=self&id=a04a70def92008ad608d78310691af8bd8c018d10fe9eb5918cc8e24fcac20da:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/shipit/checklist.js.coffee?type=application/javascript&pipeline=self&id=a513f2cb9be0c5fecc79b63122e69442be98ffd55dc1e94fcac538ca5220da82:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/notifications.js.coffee.erb?type=application/javascript&pipeline=self&id=ba847739f4e8fa4455e91df967fb3e4267dc9f5451fce00938cd8d8dee6bd5fa:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/stream.js.coffee?type=application/javascript&pipeline=self&id=14e97d77b7c8bb0936ef1b8c94c04c7e14912a93bb5c56e839e34cbcf918cc26:ET
@@ -0,0 +1,9 @@
1
+ I"�(function() {
2
+ jQuery(function($) {
3
+ return setTimeout((function() {
4
+ return $('.flash-success').remove();
5
+ }), 3000);
6
+ });
7
+
8
+ }).call(this);
9
+ :ET
@@ -0,0 +1,128 @@
1
+ I"[
2
+ var Chunk,
3
+ bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
4
+ slice = [].slice;
5
+
6
+ Chunk = (function() {
7
+ function Chunk(raw1) {
8
+ this.raw = raw1;
9
+ }
10
+
11
+ Chunk.prototype.rawText = function() {
12
+ return this.raw;
13
+ };
14
+
15
+ Chunk.prototype.text = function() {
16
+ return this._text || (this._text = AnsiStream.strip(this.raw));
17
+ };
18
+
19
+ Chunk.prototype.rawLines = function() {
20
+ return this._rawLines || (this._rawLines = this.raw.split(/\r?\n/));
21
+ };
22
+
23
+ Chunk.prototype.lines = function() {
24
+ return this._lines || (this._lines = this.text().split(/\r?\n/));
25
+ };
26
+
27
+ return Chunk;
28
+
29
+ })();
30
+
31
+ this.Stream = (function() {
32
+ var INTERVAL, MAX_RETRIES;
33
+
34
+ INTERVAL = 1000;
35
+
36
+ MAX_RETRIES = 15;
37
+
38
+ function Stream() {
39
+ this.error = bind(this.error, this);
40
+ this.success = bind(this.success, this);
41
+ this.poll = bind(this.poll, this);
42
+ this.url = null;
43
+ this.eventListeners = {};
44
+ this.retries = 0;
45
+ this.status = 'running';
46
+ }
47
+
48
+ Stream.prototype.init = function(arg) {
49
+ var status, text, url;
50
+ url = arg.url, text = arg.text, status = arg.status;
51
+ this.status = status;
52
+ this.broadcastOutput(text);
53
+ return this.start(url);
54
+ };
55
+
56
+ Stream.prototype.poll = function() {
57
+ return jQuery.ajax(this.url, {
58
+ success: this.success,
59
+ error: this.error
60
+ });
61
+ };
62
+
63
+ Stream.prototype.success = function(response) {
64
+ this.retries = 0;
65
+ this.broadcastOutput(response.output, response);
66
+ this.broadcastStatus(response.status, response);
67
+ return this.start(response.url || false);
68
+ };
69
+
70
+ Stream.prototype.broadcastStatus = function() {
71
+ var args, handler, i, len, ref, results, status;
72
+ status = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];
73
+ if (status !== this.status) {
74
+ this.status = status;
75
+ ref = this.listeners('status');
76
+ results = [];
77
+ for (i = 0, len = ref.length; i < len; i++) {
78
+ handler = ref[i];
79
+ results.push(handler.apply(null, [status].concat(slice.call(args))));
80
+ }
81
+ return results;
82
+ }
83
+ };
84
+
85
+ Stream.prototype.broadcastOutput = function() {
86
+ var args, chunk, handler, i, len, raw, ref, results;
87
+ raw = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];
88
+ chunk = new Chunk(raw);
89
+ ref = this.listeners('chunk');
90
+ results = [];
91
+ for (i = 0, len = ref.length; i < len; i++) {
92
+ handler = ref[i];
93
+ results.push(handler.apply(null, [chunk].concat(slice.call(args))));
94
+ }
95
+ return results;
96
+ };
97
+
98
+ Stream.prototype.error = function(response) {
99
+ var ref;
100
+ if ((600 > (ref = response.status) && ref >= 500) && (this.retries += 1) < MAX_RETRIES) {
101
+ return this.start();
102
+ }
103
+ };
104
+
105
+ Stream.prototype.start = function(url) {
106
+ if (url == null) {
107
+ url = this.url;
108
+ }
109
+ if (this.url = url) {
110
+ return setTimeout(this.poll, INTERVAL);
111
+ }
112
+ };
113
+
114
+ Stream.prototype.addEventListener = function(type, handler) {
115
+ return this.listeners(type).push(handler);
116
+ };
117
+
118
+ Stream.prototype.listeners = function(type) {
119
+ var base;
120
+ return (base = this.eventListeners)[type] || (base[type] = []);
121
+ };
122
+
123
+ return Stream;
124
+
125
+ })();
126
+
127
+ }).call(this);
128
+ :ET
@@ -0,0 +1,11 @@
1
+ I"�(function() {
2
+ var stream;
3
+
4
+ stream = new AnsiStream();
5
+
6
+ TTY.appendFormatter(function(chunk) {
7
+ return stream.process(chunk);
8
+ });
9
+
10
+ }).call(this);
11
+ :ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/tty.js.coffee?type=application/javascript&pipeline=self&id=8e750bb9918bcfccb11336613a7a6db6a8a9fa8938f09f71e5e8c1b3ef95d30c:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task.js.coffee?type=application/javascript&id=1b82930b9598a317f9a18e86725b3ae1cb6a9854abc2f6e512d3b33f7c61b366:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/sidebar.js.coffee?type=application/javascript&pipeline=self&id=e2ad930887a7d31bd5069f563e0391d4dd488984eb8749566305cf4b3601ed57:ET
@@ -0,0 +1,145 @@
1
+ I"�(function() {
2
+ var AnsiSpan, AnsiStyle;
3
+
4
+ this.AnsiStream = (function() {
5
+ var ANSI_CODE;
6
+
7
+ ANSI_CODE = /((\u001b\[)|\u009b)(\d{0,3}(;\d{0,3})*[A-M|f-m])|\u001b[A-M]/g;
8
+
9
+ AnsiStream.strip = function(text) {
10
+ return text.replace(ANSI_CODE, '');
11
+ };
12
+
13
+ function AnsiStream() {
14
+ this.style = new AnsiStyle();
15
+ this.span = new AnsiSpan();
16
+ }
17
+
18
+ AnsiStream.prototype.process = function(text) {
19
+ var first_part, i, len, part, partText, parts, ref, span, spans, styles;
20
+ parts = text.split(/\033\[/);
21
+ spans = document.createDocumentFragment();
22
+ first_part = parts.shift();
23
+ if (first_part) {
24
+ spans.appendChild(this.span.create(first_part, this.style));
25
+ }
26
+ for (i = 0, len = parts.length; i < len; i++) {
27
+ part = parts[i];
28
+ ref = this._extractTextAndStyles(part), partText = ref[0], styles = ref[1];
29
+ this.style.apply(styles);
30
+ span = this.span.create(partText, this.style);
31
+ spans.appendChild(span);
32
+ }
33
+ return spans;
34
+ };
35
+
36
+ AnsiStream.prototype._extractTextAndStyles = function(originalText) {
37
+ var matches, numbers, ref, text;
38
+ matches = originalText.match(/^([\d;]*)m([^]*)$/);
39
+ if (!matches) {
40
+ return [originalText, null];
41
+ }
42
+ ref = matches, matches = ref[0], numbers = ref[1], text = ref[2];
43
+ return [text, numbers.split(";")];
44
+ };
45
+
46
+ return AnsiStream;
47
+
48
+ })();
49
+
50
+ AnsiStyle = (function() {
51
+ var COLORS;
52
+
53
+ COLORS = {
54
+ 0: 'black',
55
+ 1: 'red',
56
+ 2: 'green',
57
+ 3: 'yellow',
58
+ 4: 'blue',
59
+ 5: 'magenta',
60
+ 6: 'cyan',
61
+ 7: 'white',
62
+ 8: null,
63
+ 9: 'default'
64
+ };
65
+
66
+ function AnsiStyle() {
67
+ this.reset();
68
+ }
69
+
70
+ AnsiStyle.prototype.apply = function(newStyles) {
71
+ var i, len, results, style;
72
+ if (!newStyles) {
73
+ return;
74
+ }
75
+ results = [];
76
+ for (i = 0, len = newStyles.length; i < len; i++) {
77
+ style = newStyles[i];
78
+ style = parseInt(style);
79
+ if (style === 0) {
80
+ results.push(this.reset());
81
+ } else if (style === 1) {
82
+ results.push(this.bright = true);
83
+ } else if ((30 <= style && style <= 39) && style !== 38) {
84
+ results.push(this._applyStyle('foreground', style));
85
+ } else if ((40 <= style && style <= 49) && style !== 48) {
86
+ results.push(this._applyStyle('background', style));
87
+ } else if (style === 4) {
88
+ results.push(this.underline = true);
89
+ } else if (style === 24) {
90
+ results.push(this.underline = false);
91
+ } else {
92
+ results.push(void 0);
93
+ }
94
+ }
95
+ return results;
96
+ };
97
+
98
+ AnsiStyle.prototype.reset = function() {
99
+ this.background = this.foreground = 'default';
100
+ return this.underline = this.bright = false;
101
+ };
102
+
103
+ AnsiStyle.prototype.toClass = function() {
104
+ var classes;
105
+ classes = [];
106
+ if (this.background) {
107
+ classes.push("ansi-background-" + this.background);
108
+ }
109
+ if (this.foreground) {
110
+ classes.push("ansi-foreground-" + this.foreground);
111
+ }
112
+ if (this.bright) {
113
+ classes.push("ansi-bright");
114
+ }
115
+ if (this.underline) {
116
+ classes.push("ansi-underline");
117
+ }
118
+ return classes.join(" ");
119
+ };
120
+
121
+ AnsiStyle.prototype._applyStyle = function(layer, number) {
122
+ return this[layer] = COLORS[number % 10];
123
+ };
124
+
125
+ return AnsiStyle;
126
+
127
+ })();
128
+
129
+ AnsiSpan = (function() {
130
+ function AnsiSpan() {}
131
+
132
+ AnsiSpan.prototype.create = function(text, style) {
133
+ var span;
134
+ span = document.createElement('span');
135
+ span.textContent = text;
136
+ span.className = style.toClass();
137
+ return span;
138
+ };
139
+
140
+ return AnsiSpan;
141
+
142
+ })();
143
+
144
+ }).call(this);
145
+ :ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/shipit/stacks.js.coffee?type=application/javascript&pipeline=self&id=f56a6ed3b9080023c0016121ed32138c3056543e9558aa78bd1139462d8d41cb:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/shipit/deploy.js.coffee?type=application/javascript&pipeline=self&id=e124beb6d4957954b112a36edae41a8696f5d3624acad58321a224d04c1607d3:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task/plugins.js.coffee?type=application/javascript&pipeline=self&id=552db8dfa1770d56ed8b19df7842347bdda472709719877de50a67e7e610170e:ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/shipit.js.coffee?type=application/javascript&pipeline=self&id=14b25bf142873ae52475b4df75274d33c330353d7c7c98b09136134479f5615f:ET
@@ -0,0 +1,17 @@
1
+ I"�(function() {
2
+ var $document, toggleDeployButton;
3
+
4
+ $document = $(document);
5
+
6
+ toggleDeployButton = function() {
7
+ return $('.trigger-deploy').toggleClass('disabled btn--disabled', !!$(':checkbox[name=checklist]:not(:checked)').length);
8
+ };
9
+
10
+ $document.on('change', ':checkbox[name=checklist]', toggleDeployButton);
11
+
12
+ jQuery(function($) {
13
+ return toggleDeployButton();
14
+ });
15
+
16
+ }).call(this);
17
+ :ET
@@ -0,0 +1 @@
1
+ I"�/Users/byroot/workspace/shopify/shipit-engine/app/assets/javascripts/task.js.coffee?type=application/javascript&pipeline=self&id=4433c0480deac29db700eec10fa6950aa0ce1557eb0360055a5d135f522b4cf6:ET
@@ -0,0 +1,20 @@
1
+ I"+(function() {
2
+ $(document).on('click', '.disabled, .btn--disabled', function(event) {
3
+ return event.preventDefault();
4
+ });
5
+
6
+ jQuery(function() {
7
+ var $button, $notificationNotice;
8
+ $notificationNotice = $('.notifications');
9
+ if ($.notifyCheck() === $.NOTIFY_NOT_ALLOWED) {
10
+ $button = $notificationNotice.find('button');
11
+ $button.on('click', function() {
12
+ $.notifyRequest();
13
+ return $notificationNotice.addClass('hidden');
14
+ });
15
+ return $notificationNotice.removeClass('hidden');
16
+ }
17
+ });
18
+
19
+ }).call(this);
20
+ :ET