nofxx-god_web 0.2.3 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.5
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{god_web}
8
- s.version = "0.2.3"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jesse Newland", "Marcos Piccinini"]
12
- s.date = %q{2009-09-09}
12
+ s.date = %q{2009-09-11}
13
13
  s.default_executable = %q{god_web}
14
14
  s.description = %q{iPhone friendly sinatra web UI for God}
15
15
  s.email = %q{see@github.com}
@@ -32,13 +32,16 @@ Gem::Specification.new do |s|
32
32
  "lib/god_web.rb",
33
33
  "public/.DS_Store",
34
34
  "public/app.css",
35
+ "public/app.js",
35
36
  "public/icons/big_icon.png",
36
37
  "public/icons/bookmark.png",
38
+ "public/icons/cpus.png",
37
39
  "public/icons/databases.png",
38
40
  "public/icons/gear.png",
39
41
  "public/icons/groups.png",
40
42
  "public/icons/info.png",
41
43
  "public/icons/key.png",
44
+ "public/icons/mem.png",
42
45
  "public/icons/monitor.png",
43
46
  "public/icons/restart.png",
44
47
  "public/icons/ruby.png",
@@ -56,6 +59,7 @@ Gem::Specification.new do |s|
56
59
  "public/iui/blueButton.png",
57
60
  "public/iui/cancel.png",
58
61
  "public/iui/grayButton.png",
62
+ "public/iui/greenButton.png",
59
63
  "public/iui/iui-logo-touch-icon.png",
60
64
  "public/iui/iui.css",
61
65
  "public/iui/iui.js",
@@ -74,11 +78,13 @@ Gem::Specification.new do |s|
74
78
  "public/iui/toolButton.png",
75
79
  "public/iui/toolbar.png",
76
80
  "public/iui/whiteButton.png",
81
+ "public/iui/yellowButton.png",
77
82
  "spec/god_web_spec.rb",
78
83
  "spec/spec_helper.rb",
79
84
  "views/command.erb",
80
85
  "views/icon.erb",
81
86
  "views/status.erb",
87
+ "views/top.erb",
82
88
  "views/watch.erb"
83
89
  ]
84
90
  s.homepage = %q{http://github.com/nofxx/god_web}
data/lib/app.rb CHANGED
@@ -13,10 +13,11 @@ get '/' do
13
13
  @statuses.each do |watch, status|
14
14
  @watches << watch.to_s
15
15
  end
16
- @watches.sort!
16
+ @watches = @watches.group_by { |w| @statuses[w][:state].to_s }
17
17
  @groups = GODWEB.groups
18
18
  @host = `hostname`
19
- @footer = "GodWeb v0.2 - #{@host}"
19
+ @stats = GodWeb.cpu_status
20
+ @footer = "GodWeb v0.2.5 - #{@host}"
20
21
  show(:status, @host)
21
22
  end
22
23
 
@@ -30,6 +31,8 @@ end
30
31
 
31
32
  get '/g/:group' do
32
33
  @watch = @group = params["group"]
34
+ @child = GODWEB.status.keys.each.select { |k| GODWEB.status[k][:group] == @group } #.select { |w| w["group"] = @group }
35
+ @child.map!{ |c| [c, GODWEB.status[c][:state]]}
33
36
  @status = nil
34
37
  @commands = GodWeb.possible_statuses(@status)
35
38
  show(:watch, "#{@group} [group]")
@@ -45,7 +48,7 @@ get '/w/:watch/:command' do
45
48
  end
46
49
 
47
50
  get '/o' do
48
- @commands = %w{ quit restart }
51
+ @commands = %w{ true }
49
52
  show(:watch, "god itself")
50
53
  end
51
54
 
@@ -54,6 +57,11 @@ get '/i' do
54
57
  show(:icon)
55
58
  end
56
59
 
60
+ get '/t' do
61
+ @text = `top -Hibn 1`.gsub("top - ", "")
62
+ show(:top)
63
+ end
64
+
57
65
  get '/heartbeat' do
58
66
  @statuses = GODWEB.status
59
67
  'OK'
@@ -69,16 +69,28 @@ class GodWeb
69
69
  end
70
70
 
71
71
  def self.possible_statuses(status)
72
+ # need to check, but god doesn't have a monitored and offline state...
72
73
  case status
73
- when :up
74
- return %w{stop restart unmonitor}
75
- when :unmonitored
76
- return %w{start monitor}
77
- else
78
- return %w{start stop restart}
74
+ when :up then [true, true] #%w{start monitor}
75
+ when :unmonitored then [false, false] #%w{start monitor}
76
+ else [] # nil #[false, false] #%w{start stop restart}
79
77
  end
80
78
  end
81
79
 
80
+ def self.ram_status
81
+ mem = `free -mo`.split(" ")
82
+ used, free, cached, swap = mem[8], mem[9], mem[12], mem[15]
83
+ end
84
+
85
+ def self.cpu_status
86
+ #stat = `cat /proc/stat`.split(" ")
87
+ top = `top -bn 1`
88
+ info, tasks, cpus, mem, swap, *rest = *top
89
+ # Use array to keep order (ruby < 1.9)
90
+ [[:info, info.gsub(/top - |\d{2}:\d{2}(:\d{2})?(\s|,)|\saverage/, "")],
91
+ [:cpus, cpus.gsub("Cpu\(s\): ", "").split(", ")[0..4].join(", ")],
92
+ [:mem, mem.gsub("Mem: ", "").gsub(/(\d*k)/) { ($1.to_i / 1000).to_s }]]
93
+ end
82
94
 
83
95
  private
84
96
 
@@ -110,6 +122,7 @@ private
110
122
  # To make it look good (no horiz scrollbars) in the iphone
111
123
  #
112
124
  def format_log(raw)
125
+ return "..." unless raw
113
126
  raw.split("\n").map do |l|
114
127
  # clean stuff we don't need
115
128
  l.gsub!(/I\s+|\(\w*\)|within bounds/, "") # gsub(/\(\w*\)/, """)
@@ -121,7 +134,7 @@ private
121
134
  # take only the integer from cpu
122
135
  gsub(/cpu/, "cpu %").gsub(/(\d{1,3})\.\d*%/, "\\1").
123
136
  # show mem usage in mb
124
- gsub(/memory/, "memory mb").gsub(/(\d*kb)/) { ($1.to_i / 1000).to_s }
137
+ gsub(/memory/, "mem mb").gsub(/(\d*kb)/) { ($1.to_i / 1000).to_s }
125
138
  else
126
139
  l.gsub(/\[\S*\s(\S*)\]\W+INFO: \w*\s(\w*)/, "<span class='gray'>\\1</span> | <span class='act'>act</span> | \\2")
127
140
  end
@@ -1,17 +1,3 @@
1
- body > ul > li { padding-left: 30px; }
2
- li.unmonitored { background: transparent url(../icons/unmonitored.png) no-repeat scroll 8px 12px;}
3
- li.unmonitor { background: transparent url(../icons/unmonitor.png) no-repeat scroll 8px 12px;}
4
- li.monitor { background: transparent url(../icons/monitor.png) no-repeat scroll 8px 12px;}
5
- li.start { background: transparent url(../icons/start.png) no-repeat scroll 8px 12px;}
6
- li.stop { background: transparent url(../icons/stop.png) no-repeat scroll 8px 12px; }
7
- li.quit { background: transparent url(../icons/stop.png) no-repeat scroll 8px 12px; }
8
- li.restart { background: transparent url(../icons/restart.png) no-repeat scroll 8px 12px;}
9
- li.groups { background: transparent url(../icons/groups.png) no-repeat scroll 8px 12px;}
10
- li.god { background: transparent url(../icons/terminal.png) no-repeat scroll 8px 12px;}
11
- li.hicon { background: transparent url(../icons/bookmark.png) no-repeat scroll 8px 12px;}
12
- li.info { background: transparent url(../icons/info.png) no-repeat scroll 7px 7px;}
13
- li.up { background: transparent url(../icons/up.png) no-repeat scroll 8px 12px;}
14
-
15
1
  .home_icon_div {
16
2
  padding-top: 80px;
17
3
  background: transparent url(../icons/big_icon.png) no-repeat scroll center center;
@@ -23,7 +9,38 @@ li.up { background: transparent url(../icons/up.png) no-repeat scroll 8px 1
23
9
  text-shadow: rgba(255, 255, 255, 0.75) 2px 2px 0;
24
10
  }
25
11
 
26
- .info {
12
+ fieldset > ul {
13
+ padding: 0px 10px;
14
+ }
15
+
16
+ fieldset > ul > li {
17
+ text-align: left;
18
+ background:#FFFFFF none repeat scroll 0 0;
19
+ position: relative;
20
+ margin: 0;
21
+ border-bottom: 1px solid #E0E0E0;
22
+ padding: 8px 0 8px 0px;
23
+ font-size: 20px;
24
+ font-weight: bold;
25
+ list-style: none;
26
+ }
27
+
28
+ fieldset > ul > li > a {
29
+ display: block;
30
+ margin: -8px 0 -8px -10px;
31
+ padding: 8px 32px 8px 10px;
32
+ text-decoration: none;
33
+ color: inherit;
34
+ background: url(iui/listArrow.png) no-repeat right center;
35
+ }
36
+
37
+ li img {
38
+ border:medium none;
39
+ float:left;
40
+ margin:4px 8px 0px 0px;
41
+ }
42
+
43
+ .tiny {
27
44
  font-size: 0.8em;
28
45
  }
29
46
 
@@ -40,4 +57,39 @@ li.up { background: transparent url(../icons/up.png) no-repeat scroll 8px 1
40
57
  .act {
41
58
  color: #999900;
42
59
  font-weight: bold;
60
+ }
61
+
62
+ .yellowButton,
63
+ .greenButton {
64
+ display: block;
65
+ border-width: 0 12px;
66
+ padding: 10px;
67
+ text-align: center;
68
+ font-size: 20px;
69
+ font-weight: bold;
70
+ text-decoration: inherit;
71
+ color: inherit;
72
+ }
73
+
74
+ .greenButton {
75
+ -webkit-border-image: url(../iui/greenButton.png) 0 12 0 12;
76
+ color:#fff;
77
+ text-shadow: #007a00 0 -1px 0;
78
+ }
79
+
80
+ .yellowButton {
81
+ -webkit-border-image: url(../iui/yellowButton.png) 0 12 0 12;
82
+ color:#fff;
83
+ text-shadow: #007a7a 0 -1px 0;
84
+ }
85
+
86
+ .code {
87
+ font-size: 14px;
88
+ font-family: Courier;
89
+ color: #33EE33;
90
+ background-color: #222;
91
+ padding-left: 15px;
92
+ white-space: nowrap;
93
+ overflow: auto;
94
+ padding-top: 8px;
43
95
  }
@@ -0,0 +1,28 @@
1
+ //FIXME: grr... bug if you run once, cancel, and try to run on another watch (hate js..)
2
+ function submitCommand(action, watch) {
3
+ var comm;
4
+ var act;
5
+ var s;
6
+
7
+ if (document.getElementById("toggle_" + action)) {
8
+ act = document.getElementById("toggle_" + action);
9
+ s = act.getAttribute("toggled");
10
+
11
+ if(action == "power") {
12
+ comm = (s == "true") ? "start" : "stop";
13
+ } else {
14
+ comm = (s == "true") ? "monitor" : "unmonitor";
15
+ }
16
+ } else {
17
+ comm = action;
18
+ }
19
+
20
+ if (confirm("God will " + comm + " " + watch + "..")) {
21
+ var res = document.getElementById("command_result");
22
+ iui.showPageByHref("/w/" + watch + "/" + comm, null, null, res, null);
23
+ } else {
24
+ act.setAttribute("toggled", (s == "true") ? "false" : "true");
25
+ }
26
+ return false;
27
+ }
28
+
Binary file
Binary file
@@ -8,9 +8,10 @@ GOD_ACT = "I [2009-09-08 05:06:19] INFO: nginx restart: /etc/rc.d/nginx restart
8
8
  describe "GodWeb" do
9
9
 
10
10
  it "should find possible statuses" do
11
- GodWeb.possible_statuses(:up).should eql(["stop", "restart", "unmonitor"])
11
+ GodWeb.possible_statuses(:up).should eql([true, true]) #["stop", "restart", "unmonitor"])
12
12
  end
13
13
 
14
+
14
15
  describe "Log formatter" do
15
16
  before do
16
17
  DRb.stub!(:start_service)
@@ -27,7 +28,7 @@ describe "GodWeb" do
27
28
 
28
29
  it "should format log mem" do
29
30
  @g.send(:format_log, GOD_MEM).should eql(
30
- "<span class='gray'>02:50:42</span> | <span class='green'>ok</span> | memory mb [23, 23, 23, 23, 23] " )
31
+ "<span class='gray'>02:50:42</span> | <span class='green'>ok</span> | mem mb [23, 23, 23, 23, 23] " )
31
32
  end
32
33
 
33
34
  it "should format log move" do
@@ -42,5 +43,16 @@ describe "GodWeb" do
42
43
 
43
44
  end
44
45
 
46
+ # bad emacs ruby highlight.. =/
47
+ it "should find out used/free cpu" do
48
+ # GodWeb.stub(:`).and_return("cpu 6528133 751 1130715 31204523 214784 3694 21914 0 0\ncpu0 3230410 558 557722 15169049 107745 1743 9792 0 0\ncpu1 3297722 193 572992 16035473 107039 1950 12122 0 0\nintr 655758766 681 2 0 0 0 0 3 0 1368 0 0 0 0 0 0 0 0 0 0 0 0 0 4141444 0 0 0 0 4137248 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\nctxt 1580587936\nbtime 1252305746\nprocesses 438409\nprocs_running 6\nprocs_blocked 0\n")
49
+ GodWeb.cpu_status.should eql(["6499", "1485", "20"])
50
+ end
51
+
52
+ it "should find out used/free ram" do
53
+ GodWeb.stub(:`).and_return(" total used free shared buffers cached\nMem: 7984 6499 1485 0 265 3480\nSwap: 7632 20 7611\n")
54
+ GodWeb.ram_status.should eql(["6499", "1485", "3480", "20"])
55
+ end
56
+
45
57
  end
46
58
 
@@ -2,14 +2,15 @@
2
2
  <head>
3
3
  <title><%= @title %></title>
4
4
  <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
5
- <style type="text/css" media="screen">@import "/iui/iui.css";</style>
5
+ <style type="text/css" media="screen">@import "/iui/iuix.css";</style>
6
6
  <style type="text/css" media="screen">@import "/app.css";</style>
7
- <script type="application/x-javascript" src="/iui/iui.js"></script>
7
+ <script type="application/x-javascript" src="/app.js"></script>
8
+ <script type="application/x-javascript" src="/iui/iuix.js"></script>
8
9
  <script type="text/javascript"> iui.animOn = true;</script>
9
10
  </head>
10
11
  <body>
11
12
  <div class="toolbar">
12
- <h1 id="pageTitle"><%= @title %><img src="icons/up.png"></img></h1>
13
+ <h1 id="pageTitle"><%= @title %></h1>
13
14
  <a id="backButton" class="button" href="#"></a>
14
15
  <a class="button" href="/" target="_self">Refresh</a>
15
16
  </div>
@@ -17,23 +18,25 @@
17
18
  <% unless @groups.empty? %>
18
19
  <li class="group">Groups</li>
19
20
  <% @groups.each do |watch| %>
20
- <li id="<%= watch %>" class="groups"><a href="/g/<%= watch %>"><%= watch %></a></li>
21
+ <li id="<%= watch %>"><a href="/g/<%= watch %>"><img src="icons/groups.png"><%= watch %></a></li>
21
22
  <% end %>
22
23
  <% end %>
23
- <li class="group">Watches</li>
24
- <% @watches.each do |watch| %>
25
- <li id="<%= watch %>" class="<%= @statuses[watch][:state] %>">
26
- <a href="/w/<%= watch %>"><%= watch %></a></li>
24
+ <% @watches.each do |state, watches| %>
25
+ <li class="group"><%= state.capitalize %></li>
26
+ <% for watch in watches.sort %>
27
+ <li id="<%= watch %>">
28
+ <a href="/w/<%= watch %>"><img src="icons/<%= @statuses[watch][:state] %>.png"></img><%= watch %></a></li>
29
+ <% end %>
27
30
  <% end %>
28
31
  <li class="group">Extras</li>
29
- <li id="home_icon" class="hicon">
30
- <a href="/i">Home Icon</a>
31
- </li>
32
- <li id="god_opts" class="god">
33
- <a href="/o">God</a>
34
- </li>
32
+ <li id="god_opts"><a href="/o"><img src="icons/monitor.png"></img>God</a></li>
33
+ <li id="top_show"><a href="/t"><img src="icons/terminal.png"></img>Top</a></li>
34
+ <li id="home_icon"><a href="/i"><img src="icons/bookmark.png"></img>Icon</a></li>
35
35
  <li class="group">About</li>
36
- <li class="info"><%= @footer %> [ok]</li>
36
+ <% for stat in @stats %>
37
+ <li class="tiny"><img src="icons/<%= stat[0] %>.png"><%= stat[1] %></li>
38
+ <% end %>
39
+ <li class="tiny"><img src="icons/ruby.png"></img><%= @footer %> [ok]</li>
37
40
  </ul>
38
41
  </body>
39
42
  </html>
@@ -0,0 +1,8 @@
1
+ <div class="panel" title="Top">
2
+ <div class="code">
3
+ <%= @text.gsub("\n", "<br/>") %>
4
+ </div>
5
+ <h2> TIP: Use two fingers to scroll Y </h2>
6
+ </div>
7
+
8
+
@@ -1,14 +1,44 @@
1
- <ul id="<%= @watch %>_commands" title="<%= @title %>">
1
+ <div id="<%= @watch %>_commands" title="<%= @title %>" class="panel">
2
2
  <% if @status %>
3
- <li class="<%= @status %>"> <%= @status %> [<%= Time.now.strftime("%H:%m %m/%d") %>]</li>
4
- <% end %>
5
- <li class="group">Commands</li>
6
- <% @commands.each do |command| %>
7
- <li id="<%= command %>_<%= @watch %>" class="<%= command %>">
8
- <a href="/w/<%= @watch %>/<%= command %>"><%= command %></a></li>
3
+ <h2> Status </h2>
4
+ <fieldset>
5
+ <div align="center"><p>
6
+ <b><%= @status.to_s.capitalize %></b> [<%= Time.now.strftime("%H:%m %m/%d") %>]</p></div>
7
+ </fieldset>
9
8
  <% end %>
10
9
  <% if @log %>
11
- <li class="group">Log</li>
12
- <div class="info"><p><%= @log %></p></div>
10
+ <h2> Log </h2>
11
+ <fieldset>
12
+ <div align='left'><%= @log %></div>
13
+ </fieldset>
14
+ <% end %>
15
+ <% if @child %>
16
+ <h2> Watches </h2>
17
+ <fieldset><ul>
18
+ <% for child in @child %>
19
+ <li id="<%= child[0] %>">
20
+ <a href="/w/<%= child[0] %>"><img src="icons/<%= child[1] %>.png"></img><%= child[0] %></a></li>
21
+ <% end %>
22
+ </ul></fieldset>
23
+ <% end %>
24
+ <h2> Commands </h2>
25
+ <% unless @commands.empty? %>
26
+ <fieldset>
27
+ <% ["power", "monitor"].each_with_index do |comm, i| %>
28
+ <div class="row">
29
+ <label><%= comm.capitalize %></label>
30
+ <div id="toggle_<%= comm %>" class="toggle" toggled="<%= @commands[i] %>" onclick="submitCommand('<%= comm %>', '<%= @watch %>')">
31
+ <span class="thumb"></span><span class="toggleOn">ON</span>
32
+ <span class="toggleOff">OFF</span>
33
+ </div>
34
+ </div>
35
+ <% end %>
36
+ </fieldset>
37
+ <% else %>
38
+ <a class="greenButton" onclick="submitCommand('start', '<%= @watch %>')">Start <%= " All" if @child %></a>
39
+ <a class="yellowButton" onclick="submitCommand('stop', '<%= @watch %>')">Stop <%= " All" if @child %></a>
13
40
  <% end %>
14
- </ul>
41
+ <a class="redButton" onclick="submitCommand('restart', '<%= @watch %>')">Restart <%= " All" if @child %></a>
42
+ <div id="command_result"></div>
43
+ </div>
44
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nofxx-god_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Newland
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-09-09 00:00:00 -07:00
13
+ date: 2009-09-11 00:00:00 -07:00
14
14
  default_executable: god_web
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -69,13 +69,16 @@ files:
69
69
  - lib/god_web.rb
70
70
  - public/.DS_Store
71
71
  - public/app.css
72
+ - public/app.js
72
73
  - public/icons/big_icon.png
73
74
  - public/icons/bookmark.png
75
+ - public/icons/cpus.png
74
76
  - public/icons/databases.png
75
77
  - public/icons/gear.png
76
78
  - public/icons/groups.png
77
79
  - public/icons/info.png
78
80
  - public/icons/key.png
81
+ - public/icons/mem.png
79
82
  - public/icons/monitor.png
80
83
  - public/icons/restart.png
81
84
  - public/icons/ruby.png
@@ -93,6 +96,7 @@ files:
93
96
  - public/iui/blueButton.png
94
97
  - public/iui/cancel.png
95
98
  - public/iui/grayButton.png
99
+ - public/iui/greenButton.png
96
100
  - public/iui/iui-logo-touch-icon.png
97
101
  - public/iui/iui.css
98
102
  - public/iui/iui.js
@@ -111,11 +115,13 @@ files:
111
115
  - public/iui/toolButton.png
112
116
  - public/iui/toolbar.png
113
117
  - public/iui/whiteButton.png
118
+ - public/iui/yellowButton.png
114
119
  - spec/god_web_spec.rb
115
120
  - spec/spec_helper.rb
116
121
  - views/command.erb
117
122
  - views/icon.erb
118
123
  - views/status.erb
124
+ - views/top.erb
119
125
  - views/watch.erb
120
126
  has_rdoc: false
121
127
  homepage: http://github.com/nofxx/god_web