rocketjob_mission_control 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +26 -0
  4. data/app/assets/javascripts/rocket_job_mission_control/application.js +18 -0
  5. data/app/assets/javascripts/rocket_job_mission_control/base.js.coffee +24 -0
  6. data/app/assets/javascripts/rocket_job_mission_control/jobs.js.coffee +11 -0
  7. data/app/assets/stylesheets/rocket_job_mission_control/application.scss +18 -0
  8. data/app/assets/stylesheets/rocket_job_mission_control/base.scss +468 -0
  9. data/app/assets/stylesheets/rocket_job_mission_control/bootstrap_and_overrides.scss +6 -0
  10. data/app/assets/stylesheets/rocket_job_mission_control/callout.scss +40 -0
  11. data/app/assets/stylesheets/rocket_job_mission_control/jobs.scss +16 -0
  12. data/app/assets/stylesheets/rocket_job_mission_control/jquery.bootstrap-touchspin.scss +45 -0
  13. data/app/controllers/rocket_job_mission_control/application_controller.rb +15 -0
  14. data/app/controllers/rocket_job_mission_control/jobs/inputs_controller.rb +9 -0
  15. data/app/controllers/rocket_job_mission_control/jobs/slices_controller.rb +10 -0
  16. data/app/controllers/rocket_job_mission_control/jobs_controller.rb +97 -0
  17. data/app/controllers/rocket_job_mission_control/workers_controller.rb +79 -0
  18. data/app/helpers/rocket_job_mission_control/application_helper.rb +16 -0
  19. data/app/helpers/rocket_job_mission_control/jobs_helper.rb +57 -0
  20. data/app/helpers/rocket_job_mission_control/workers_helper.rb +14 -0
  21. data/app/views/layouts/rocket_job_mission_control/application.html.haml +43 -0
  22. data/app/views/layouts/rocket_job_mission_control/partials/_header.html.haml +16 -0
  23. data/app/views/layouts/rocket_job_mission_control/partials/_sidebar.html.haml +20 -0
  24. data/app/views/rocket_job_mission_control/jobs/_list.html.haml +33 -0
  25. data/app/views/rocket_job_mission_control/jobs/_status.html.haml +39 -0
  26. data/app/views/rocket_job_mission_control/jobs/index.html.haml +8 -0
  27. data/app/views/rocket_job_mission_control/jobs/running.html.haml +37 -0
  28. data/app/views/rocket_job_mission_control/jobs/show.html.haml +50 -0
  29. data/app/views/rocket_job_mission_control/workers/_actions.html.haml +9 -0
  30. data/app/views/rocket_job_mission_control/workers/index.html.haml +51 -0
  31. data/config/locales/en.yml +57 -0
  32. data/config/routes.rb +28 -0
  33. data/lib/rocket_job_mission_control/engine.rb +15 -0
  34. data/lib/rocket_job_mission_control/version.rb +3 -0
  35. data/lib/rocketjob_mission_control.rb +4 -0
  36. data/lib/tasks/rocket_job_mission_control_tasks.rake +4 -0
  37. data/spec/controllers/application_controller_spec.rb +47 -0
  38. data/spec/controllers/jobs_controller_spec.rb +217 -0
  39. data/spec/controllers/workers_controller_spec.rb +125 -0
  40. data/spec/dummy/README.rdoc +28 -0
  41. data/spec/dummy/Rakefile +6 -0
  42. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  43. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  44. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  45. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  46. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  47. data/spec/dummy/bin/bundle +3 -0
  48. data/spec/dummy/bin/rails +4 -0
  49. data/spec/dummy/bin/rake +4 -0
  50. data/spec/dummy/config.ru +4 -0
  51. data/spec/dummy/config/application.rb +25 -0
  52. data/spec/dummy/config/boot.rb +5 -0
  53. data/spec/dummy/config/database.yml +25 -0
  54. data/spec/dummy/config/environment.rb +5 -0
  55. data/spec/dummy/config/environments/development.rb +34 -0
  56. data/spec/dummy/config/environments/test.rb +39 -0
  57. data/spec/dummy/config/initializers/assets.rb +8 -0
  58. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  59. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  60. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  61. data/spec/dummy/config/initializers/inflections.rb +16 -0
  62. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  63. data/spec/dummy/config/initializers/session_store.rb +3 -0
  64. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  65. data/spec/dummy/config/locales/en.yml +23 -0
  66. data/spec/dummy/config/routes.rb +4 -0
  67. data/spec/dummy/config/secrets.yml +22 -0
  68. data/spec/dummy/log/test.log +2459 -0
  69. data/spec/dummy/public/404.html +67 -0
  70. data/spec/dummy/public/422.html +67 -0
  71. data/spec/dummy/public/500.html +66 -0
  72. data/spec/dummy/public/favicon.ico +0 -0
  73. data/spec/helpers/jobs_helper_spec.rb +100 -0
  74. data/spec/rails_helper.rb +47 -0
  75. data/spec/spec_helper.rb +81 -0
  76. data/spec/views/workers/index.html.haml_spec.rb +17 -0
  77. data/vendor/assets/javascripts/jquery.bootstrap-touchspin.js +686 -0
  78. data/vendor/assets/javascripts/prism.js +6 -0
  79. data/vendor/assets/stylesheets/jquery.bootstrap-touchspin.css +45 -0
  80. data/vendor/assets/stylesheets/prism.scss +160 -0
  81. metadata +319 -0
@@ -0,0 +1,6 @@
1
+ /* http://prismjs.com/download.html?themes=prism-okaidia&languages=clike+bash+ruby&plugins=line-numbers */
2
+ self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{};var Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==n)for(var l in a)a.hasOwnProperty(l)&&(o[l]=a[l]);o[s]=i[s]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0;a=r[i++];)t.highlightElement(a,e===!0,n)},highlightElement:function(a,r,i){for(var l,o,s=a;s&&!e.test(s.className);)s=s.parentNode;if(s&&(l=(s.className.match(e)||[,""])[1],o=t.languages[l]),o){a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,s=a.parentNode,/pre/i.test(s.nodeName)&&(s.className=s.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var g=a.textContent;if(g){g=g.replace(/^(?:\r?\n|\r)/,"");var u={element:a,language:l,grammar:o,code:g};if(t.hooks.run("before-highlight",u),r&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){u.highlightedCode=n.stringify(JSON.parse(e.data),l),t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,i&&i.call(u.element),t.hooks.run("after-highlight",u)},c.postMessage(JSON.stringify({language:u.language,code:u.code}))}else u.highlightedCode=t.highlight(u.code,u.grammar,u.language),t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",u)}}},highlight:function(e,a,r){var i=t.tokenize(e,a);return n.stringify(t.util.encode(i),r)},tokenize:function(e,n){var a=t.Token,r=[e],i=n.rest;if(i){for(var l in i)n[l]=i[l];delete n.rest}e:for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var o=n[l];o="Array"===t.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var g=o[s],u=g.inside,c=!!g.lookbehind,f=0,h=g.alias;g=g.pattern||g;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){g.lastIndex=0;var m=g.exec(d);if(m){c&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),O=[p,1];b&&O.push(b);var N=new a(l,u?t.tokenize(m,u):m,h);O.push(N),w&&O.push(w),Array.prototype.splice.apply(r,O)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("[object Array]"==Object.prototype.toString.call(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=s+'="'+(i.attributes[s]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+o+">"+i.content+"</"+i.tag+">"},!self.document)return self.addEventListener?(self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),self.close()},!1),self.Prism):self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);;
3
+ Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//g,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*?(\r?\n|$)/g,lookbehind:!0}],string:/("|')(\\\n|\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/gi,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/gi,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};;
4
+ Prism.languages.bash=Prism.languages.extend("clike",{comment:{pattern:/(^|[^"{\\])(#.*?(\r?\n|$))/g,lookbehind:!0},string:{pattern:/("|')(\\?[\s\S])*?\1/g,inside:{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^\}]+\})/g}},keyword:/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/g}),Prism.languages.insertBefore("bash","keyword",{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^}]+\})/g}),Prism.languages.insertBefore("bash","comment",{important:/(^#!\s*\/bin\/bash)|(^#!\s*\/bin\/sh)/g});;
5
+ Prism.languages.ruby=Prism.languages.extend("clike",{comment:/#[^\r\n]*(\r?\n|$)/g,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/g,builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*[?!]?\b/g}),Prism.languages.insertBefore("ruby","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0},variable:/[@$]+\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/g,symbol:/:\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/g});;
6
+ Prism.hooks.add("after-highlight",function(e){var n=e.element.parentNode;if(n&&/pre/i.test(n.nodeName)&&-1!==n.className.indexOf("line-numbers")){var t,a=1+e.code.split("\n").length;lines=new Array(a),lines=lines.join("<span></span>"),t=document.createElement("span"),t.className="line-numbers-rows",t.innerHTML=lines,n.hasAttribute("data-start")&&(n.style.counterReset="linenumber "+(parseInt(n.getAttribute("data-start"),10)-1)),e.element.appendChild(t)}});;
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Bootstrap TouchSpin - v3.0.1
3
+ * A mobile and touch friendly input spinner component for Bootstrap 3.
4
+ * http://www.virtuosoft.eu/code/bootstrap-touchspin/
5
+ *
6
+ * Made by István Ujj-Mészáros
7
+ * Under Apache License v2.0 License
8
+ */
9
+
10
+ .bootstrap-touchspin .input-group-btn-vertical {
11
+ position: relative;
12
+ white-space: nowrap;
13
+ width: 1%;
14
+ vertical-align: middle;
15
+ display: table-cell;
16
+ }
17
+
18
+ .bootstrap-touchspin .input-group-btn-vertical > .btn {
19
+ display: block;
20
+ float: none;
21
+ width: 100%;
22
+ max-width: 100%;
23
+ padding: 8px 10px;
24
+ margin-left: -1px;
25
+ position: relative;
26
+ }
27
+
28
+ .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
29
+ border-radius: 0;
30
+ border-top-right-radius: 4px;
31
+ }
32
+
33
+ .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
34
+ margin-top: -2px;
35
+ border-radius: 0;
36
+ border-bottom-right-radius: 4px;
37
+ }
38
+
39
+ .bootstrap-touchspin .input-group-btn-vertical i {
40
+ position: absolute;
41
+ top: 3px;
42
+ left: 5px;
43
+ font-size: 9px;
44
+ font-weight: normal;
45
+ }
@@ -0,0 +1,160 @@
1
+ /* http://prismjs.com/download.html?themes=prism-okaidia&languages=clike+bash+ruby&plugins=line-numbers */
2
+ /**
3
+ * okaidia theme for JavaScript, CSS and HTML
4
+ * Loosely based on Monokai textmate theme by http://www.monokai.nl/
5
+ * @author ocodia
6
+ */
7
+
8
+ code[class*="language-"],
9
+ pre[class*="language-"] {
10
+ color: #f8f8f2;
11
+ text-shadow: 0 1px rgba(0, 0, 0, 0.3);
12
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
13
+ direction: ltr;
14
+ text-align: left;
15
+ white-space: pre;
16
+ word-spacing: normal;
17
+ word-break: normal;
18
+ line-height: 1.5;
19
+
20
+ -moz-tab-size: 4;
21
+ -o-tab-size: 4;
22
+ tab-size: 4;
23
+
24
+ -webkit-hyphens: none;
25
+ -moz-hyphens: none;
26
+ -ms-hyphens: none;
27
+ hyphens: none;
28
+ }
29
+
30
+ /* Code blocks */
31
+ pre[class*="language-"] {
32
+ padding: 1em;
33
+ margin: .5em 0;
34
+ overflow: auto;
35
+ border-radius: 0.3em;
36
+ }
37
+
38
+ :not(pre) > code[class*="language-"],
39
+ pre[class*="language-"] {
40
+ background: #272822;
41
+ }
42
+
43
+ /* Inline code */
44
+ :not(pre) > code[class*="language-"] {
45
+ padding: .1em;
46
+ border-radius: .3em;
47
+ }
48
+
49
+ .token.comment,
50
+ .token.prolog,
51
+ .token.doctype,
52
+ .token.cdata {
53
+ color: slategray;
54
+ }
55
+
56
+ .token.punctuation {
57
+ color: #f8f8f2;
58
+ }
59
+
60
+ .namespace {
61
+ opacity: .7;
62
+ }
63
+
64
+ .token.property,
65
+ .token.tag,
66
+ .token.constant,
67
+ .token.symbol,
68
+ .token.deleted {
69
+ color: #f92672;
70
+ }
71
+
72
+ .token.boolean,
73
+ .token.number {
74
+ color: #ae81ff;
75
+ }
76
+
77
+ .token.selector,
78
+ .token.attr-name,
79
+ .token.string,
80
+ .token.char,
81
+ .token.builtin,
82
+ .token.inserted {
83
+ color: #a6e22e;
84
+ }
85
+
86
+ .token.operator,
87
+ .token.entity,
88
+ .token.url,
89
+ .language-css .token.string,
90
+ .style .token.string,
91
+ .token.variable {
92
+ color: #f8f8f2;
93
+ }
94
+
95
+ .token.atrule,
96
+ .token.attr-value {
97
+ color: #e6db74;
98
+ }
99
+
100
+ .token.keyword {
101
+ color: #66d9ef;
102
+ }
103
+
104
+ .token.regex,
105
+ .token.important {
106
+ color: #fd971f;
107
+ }
108
+
109
+ .token.important,
110
+ .token.bold {
111
+ font-weight: bold;
112
+ }
113
+ .token.italic {
114
+ font-style: italic;
115
+ }
116
+
117
+ .token.entity {
118
+ cursor: help;
119
+ }
120
+
121
+ pre.line-numbers {
122
+ position: relative;
123
+ padding-left: 3.8em;
124
+ counter-reset: linenumber;
125
+ }
126
+
127
+ pre.line-numbers > code {
128
+ position: relative;
129
+ }
130
+
131
+ .line-numbers .line-numbers-rows {
132
+ position: absolute;
133
+ pointer-events: none;
134
+ top: 0;
135
+ font-size: 100%;
136
+ left: -3.8em;
137
+ width: 3em; /* works for line-numbers below 1000 lines */
138
+ letter-spacing: -1px;
139
+ border-right: 1px solid #999;
140
+
141
+ -webkit-user-select: none;
142
+ -moz-user-select: none;
143
+ -ms-user-select: none;
144
+ user-select: none;
145
+
146
+ }
147
+
148
+ .line-numbers-rows > span {
149
+ pointer-events: none;
150
+ display: block;
151
+ counter-increment: linenumber;
152
+ }
153
+
154
+ .line-numbers-rows > span:before {
155
+ content: counter(linenumber);
156
+ color: #999;
157
+ display: block;
158
+ padding-right: 0.8em;
159
+ text-align: right;
160
+ }
metadata ADDED
@@ -0,0 +1,319 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rocketjob_mission_control
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.2
5
+ platform: ruby
6
+ authors:
7
+ - Michael Cloutier
8
+ - Chris Lamb
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-07-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '4.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '4.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: jquery-rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bootstrap-sass
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 3.2.0.1
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 3.2.0.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: coffee-rails
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: sass-rails
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '3.2'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '3.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rubyzip
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rocketjob
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '0.9'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '0.9'
112
+ - !ruby/object:Gem::Dependency
113
+ name: mongo_ha
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: mongo
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '1.0'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '1.0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: mongo_mapper
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '0.13'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '0.13'
154
+ - !ruby/object:Gem::Dependency
155
+ name: haml
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ description: Adds a web interface for Rocket Job.
169
+ email:
170
+ - ''
171
+ executables: []
172
+ extensions: []
173
+ extra_rdoc_files: []
174
+ files:
175
+ - MIT-LICENSE
176
+ - Rakefile
177
+ - app/assets/javascripts/rocket_job_mission_control/application.js
178
+ - app/assets/javascripts/rocket_job_mission_control/base.js.coffee
179
+ - app/assets/javascripts/rocket_job_mission_control/jobs.js.coffee
180
+ - app/assets/stylesheets/rocket_job_mission_control/application.scss
181
+ - app/assets/stylesheets/rocket_job_mission_control/base.scss
182
+ - app/assets/stylesheets/rocket_job_mission_control/bootstrap_and_overrides.scss
183
+ - app/assets/stylesheets/rocket_job_mission_control/callout.scss
184
+ - app/assets/stylesheets/rocket_job_mission_control/jobs.scss
185
+ - app/assets/stylesheets/rocket_job_mission_control/jquery.bootstrap-touchspin.scss
186
+ - app/controllers/rocket_job_mission_control/application_controller.rb
187
+ - app/controllers/rocket_job_mission_control/jobs/inputs_controller.rb
188
+ - app/controllers/rocket_job_mission_control/jobs/slices_controller.rb
189
+ - app/controllers/rocket_job_mission_control/jobs_controller.rb
190
+ - app/controllers/rocket_job_mission_control/workers_controller.rb
191
+ - app/helpers/rocket_job_mission_control/application_helper.rb
192
+ - app/helpers/rocket_job_mission_control/jobs_helper.rb
193
+ - app/helpers/rocket_job_mission_control/workers_helper.rb
194
+ - app/views/layouts/rocket_job_mission_control/application.html.haml
195
+ - app/views/layouts/rocket_job_mission_control/partials/_header.html.haml
196
+ - app/views/layouts/rocket_job_mission_control/partials/_sidebar.html.haml
197
+ - app/views/rocket_job_mission_control/jobs/_list.html.haml
198
+ - app/views/rocket_job_mission_control/jobs/_status.html.haml
199
+ - app/views/rocket_job_mission_control/jobs/index.html.haml
200
+ - app/views/rocket_job_mission_control/jobs/running.html.haml
201
+ - app/views/rocket_job_mission_control/jobs/show.html.haml
202
+ - app/views/rocket_job_mission_control/workers/_actions.html.haml
203
+ - app/views/rocket_job_mission_control/workers/index.html.haml
204
+ - config/locales/en.yml
205
+ - config/routes.rb
206
+ - lib/rocket_job_mission_control/engine.rb
207
+ - lib/rocket_job_mission_control/version.rb
208
+ - lib/rocketjob_mission_control.rb
209
+ - lib/tasks/rocket_job_mission_control_tasks.rake
210
+ - spec/controllers/application_controller_spec.rb
211
+ - spec/controllers/jobs_controller_spec.rb
212
+ - spec/controllers/workers_controller_spec.rb
213
+ - spec/dummy/README.rdoc
214
+ - spec/dummy/Rakefile
215
+ - spec/dummy/app/assets/javascripts/application.js
216
+ - spec/dummy/app/assets/stylesheets/application.css
217
+ - spec/dummy/app/controllers/application_controller.rb
218
+ - spec/dummy/app/helpers/application_helper.rb
219
+ - spec/dummy/app/views/layouts/application.html.erb
220
+ - spec/dummy/bin/bundle
221
+ - spec/dummy/bin/rails
222
+ - spec/dummy/bin/rake
223
+ - spec/dummy/config.ru
224
+ - spec/dummy/config/application.rb
225
+ - spec/dummy/config/boot.rb
226
+ - spec/dummy/config/database.yml
227
+ - spec/dummy/config/environment.rb
228
+ - spec/dummy/config/environments/development.rb
229
+ - spec/dummy/config/environments/test.rb
230
+ - spec/dummy/config/initializers/assets.rb
231
+ - spec/dummy/config/initializers/backtrace_silencers.rb
232
+ - spec/dummy/config/initializers/cookies_serializer.rb
233
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
234
+ - spec/dummy/config/initializers/inflections.rb
235
+ - spec/dummy/config/initializers/mime_types.rb
236
+ - spec/dummy/config/initializers/session_store.rb
237
+ - spec/dummy/config/initializers/wrap_parameters.rb
238
+ - spec/dummy/config/locales/en.yml
239
+ - spec/dummy/config/routes.rb
240
+ - spec/dummy/config/secrets.yml
241
+ - spec/dummy/log/test.log
242
+ - spec/dummy/public/404.html
243
+ - spec/dummy/public/422.html
244
+ - spec/dummy/public/500.html
245
+ - spec/dummy/public/favicon.ico
246
+ - spec/helpers/jobs_helper_spec.rb
247
+ - spec/rails_helper.rb
248
+ - spec/spec_helper.rb
249
+ - spec/views/workers/index.html.haml_spec.rb
250
+ - vendor/assets/javascripts/jquery.bootstrap-touchspin.js
251
+ - vendor/assets/javascripts/prism.js
252
+ - vendor/assets/stylesheets/jquery.bootstrap-touchspin.css
253
+ - vendor/assets/stylesheets/prism.scss
254
+ homepage: https://github.com/mjcloutier/rocket_job_mission_control
255
+ licenses:
256
+ - MIT
257
+ metadata: {}
258
+ post_install_message:
259
+ rdoc_options: []
260
+ require_paths:
261
+ - lib
262
+ required_ruby_version: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ version: '0'
267
+ required_rubygems_version: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ requirements: []
273
+ rubyforge_project:
274
+ rubygems_version: 2.4.8
275
+ signing_key:
276
+ specification_version: 4
277
+ summary: Web UI for Rocket Job
278
+ test_files:
279
+ - spec/controllers/application_controller_spec.rb
280
+ - spec/controllers/jobs_controller_spec.rb
281
+ - spec/controllers/workers_controller_spec.rb
282
+ - spec/dummy/app/assets/javascripts/application.js
283
+ - spec/dummy/app/assets/stylesheets/application.css
284
+ - spec/dummy/app/controllers/application_controller.rb
285
+ - spec/dummy/app/helpers/application_helper.rb
286
+ - spec/dummy/app/views/layouts/application.html.erb
287
+ - spec/dummy/bin/bundle
288
+ - spec/dummy/bin/rails
289
+ - spec/dummy/bin/rake
290
+ - spec/dummy/config/application.rb
291
+ - spec/dummy/config/boot.rb
292
+ - spec/dummy/config/database.yml
293
+ - spec/dummy/config/environment.rb
294
+ - spec/dummy/config/environments/development.rb
295
+ - spec/dummy/config/environments/test.rb
296
+ - spec/dummy/config/initializers/assets.rb
297
+ - spec/dummy/config/initializers/backtrace_silencers.rb
298
+ - spec/dummy/config/initializers/cookies_serializer.rb
299
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
300
+ - spec/dummy/config/initializers/inflections.rb
301
+ - spec/dummy/config/initializers/mime_types.rb
302
+ - spec/dummy/config/initializers/session_store.rb
303
+ - spec/dummy/config/initializers/wrap_parameters.rb
304
+ - spec/dummy/config/locales/en.yml
305
+ - spec/dummy/config/routes.rb
306
+ - spec/dummy/config/secrets.yml
307
+ - spec/dummy/config.ru
308
+ - spec/dummy/log/test.log
309
+ - spec/dummy/public/404.html
310
+ - spec/dummy/public/422.html
311
+ - spec/dummy/public/500.html
312
+ - spec/dummy/public/favicon.ico
313
+ - spec/dummy/Rakefile
314
+ - spec/dummy/README.rdoc
315
+ - spec/helpers/jobs_helper_spec.rb
316
+ - spec/rails_helper.rb
317
+ - spec/spec_helper.rb
318
+ - spec/views/workers/index.html.haml_spec.rb
319
+ has_rdoc: