wackamole 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnsignore +16 -0
- data/.gitignore +2 -0
- data/History.txt +4 -0
- data/README.rdoc +88 -0
- data/Rakefile +42 -0
- data/aa.rb +25 -0
- data/aaa.txt +13 -0
- data/bin/wackamole +77 -0
- data/lib/app.rb +63 -0
- data/lib/controllers/dashboard.rb +30 -0
- data/lib/controllers/features.rb +41 -0
- data/lib/controllers/logs.rb +49 -0
- data/lib/controllers/mission.rb +27 -0
- data/lib/controllers/users.rb +41 -0
- data/lib/helpers/dashboard_helper.rb +32 -0
- data/lib/helpers/features_helper.rb +13 -0
- data/lib/helpers/flash_helper.rb +16 -0
- data/lib/helpers/logs_helper.rb +116 -0
- data/lib/helpers/main_helper.rb +182 -0
- data/lib/helpers/mission_helper.rb +59 -0
- data/lib/helpers/rails_helper.rb +7 -0
- data/lib/wackamole.rb +47 -0
- data/lib/wackamole/core_ext/date_time.rb +8 -0
- data/lib/wackamole/core_ext/time.rb +9 -0
- data/lib/wackamole/models/control.rb +132 -0
- data/lib/wackamole/models/feature.rb +74 -0
- data/lib/wackamole/models/log.rb +45 -0
- data/lib/wackamole/models/mission.rb +164 -0
- data/lib/wackamole/models/mole_info.rb +94 -0
- data/lib/wackamole/models/search_filter.rb +192 -0
- data/lib/wackamole/models/user.rb +46 -0
- data/public/favicon.ico +0 -0
- data/public/images/.DS_Store +0 -0
- data/public/images/browsers/.DS_Store +0 -0
- data/public/images/browsers/MSIE 6.png +0 -0
- data/public/images/browsers/MSIE 8.0 +0 -0
- data/public/images/browsers/MSIE 8.0.png +0 -0
- data/public/images/browsers/chrome.png +0 -0
- data/public/images/browsers/firefox.png +0 -0
- data/public/images/browsers/ie 6.0.png +0 -0
- data/public/images/browsers/ie6.jpg +0 -0
- data/public/images/browsers/ie7.jpg +0 -0
- data/public/images/browsers/ie7.png +0 -0
- data/public/images/browsers/msie 6.0.png +0 -0
- data/public/images/browsers/msie 7.0.png +0 -0
- data/public/images/browsers/opera.jpg +0 -0
- data/public/images/browsers/opera.png +0 -0
- data/public/images/browsers/safari.jpg +0 -0
- data/public/images/browsers/safari.png +0 -0
- data/public/images/browsers/unknown_browser.png +0 -0
- data/public/images/close.png +0 -0
- data/public/images/error.png +0 -0
- data/public/images/fade.png +0 -0
- data/public/images/fault_big.png +0 -0
- data/public/images/fault_small.png +0 -0
- data/public/images/feature.png +0 -0
- data/public/images/h300.png +0 -0
- data/public/images/hori_large.png +0 -0
- data/public/images/info_big.png +0 -0
- data/public/images/info_small.png +0 -0
- data/public/images/loading.gif +0 -0
- data/public/images/loading1.gif +0 -0
- data/public/images/mole_error.png +0 -0
- data/public/images/more.gif +0 -0
- data/public/images/next.png +0 -0
- data/public/images/perf_big.png +0 -0
- data/public/images/perf_small.png +0 -0
- data/public/images/powered_by.png +0 -0
- data/public/images/prev.png +0 -0
- data/public/images/row_fade.png +0 -0
- data/public/images/search.png +0 -0
- data/public/images/small_logo.png +0 -0
- data/public/images/spaceball.gif +0 -0
- data/public/images/tick.png +0 -0
- data/public/images/users.png +0 -0
- data/public/images/wackamole_logo.png +0 -0
- data/public/javascripts/.DS_Store +0 -0
- data/public/javascripts/application.js +28 -0
- data/public/javascripts/g.dot.min.js +7 -0
- data/public/javascripts/g.raphael.min.js +7 -0
- data/public/javascripts/jit.js +9052 -0
- data/public/javascripts/jit.min.js +1 -0
- data/public/javascripts/jquery-ui.js +188 -0
- data/public/javascripts/jquery.example.js +160 -0
- data/public/javascripts/jquery.js +19 -0
- data/public/javascripts/jquery.tools.min.js +38 -0
- data/public/javascripts/jquery_ba-url.js +9 -0
- data/public/javascripts/jquery_min.js +19 -0
- data/public/javascripts/jquery_ui_min.js +298 -0
- data/public/javascripts/raphael.min.js +7 -0
- data/public/stylesheets/tabs-slideshow.css +95 -0
- data/public/stylesheets/wackamole.css +684 -0
- data/spec/config/bogus_test.yml +3 -0
- data/spec/config/test.yml +3 -0
- data/spec/core_ext/date_time_spec.rb +8 -0
- data/spec/core_ext/time_spec.rb +12 -0
- data/spec/data/fixtures.rb +92 -0
- data/spec/models/control_spec.rb +98 -0
- data/spec/models/feature_spec.rb +52 -0
- data/spec/models/log_spec.rb +43 -0
- data/spec/models/mission_spec.rb +225 -0
- data/spec/models/moled_info_spec.rb +30 -0
- data/spec/models/search_filter_spec.rb +151 -0
- data/spec/models/user_spec.rb +44 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/wackamole_spec.rb +20 -0
- data/tasks/bones.rake +20 -0
- data/tasks/fixtures.rake +13 -0
- data/tasks/gem.rake +201 -0
- data/tasks/git.rake +40 -0
- data/tasks/notes.rake +27 -0
- data/tasks/post_load.rake +32 -0
- data/tasks/rdoc.rake +54 -0
- data/tasks/rubyforge.rake +55 -0
- data/tasks/setup.rb +290 -0
- data/tasks/spec.rake +54 -0
- data/tasks/svn.rake +46 -0
- data/views/dashboard/_report.erb +118 -0
- data/views/dashboard/index.erb +4 -0
- data/views/dashboard/refresh_js.erb +3 -0
- data/views/features/_rows.erb +26 -0
- data/views/features/filter.js.erb +2 -0
- data/views/features/index.erb +24 -0
- data/views/features/index.js.erb +2 -0
- data/views/layout.erb +47 -0
- data/views/logs/_array.erb +12 -0
- data/views/logs/_hash.erb +14 -0
- data/views/logs/_rows.erb +65 -0
- data/views/logs/filter.js.erb +4 -0
- data/views/logs/index.erb +13 -0
- data/views/logs/index.js.erb +2 -0
- data/views/logs/show.erb +66 -0
- data/views/mission/_report.erb +49 -0
- data/views/mission/index.erb +7 -0
- data/views/mission/refresh_js.erb +3 -0
- data/views/shared/_filter.erb +63 -0
- data/views/shared/_flash.erb +3 -0
- data/views/shared/_search.erb +25 -0
- data/views/shared/_timestamp.erb +1 -0
- data/views/shared/_wait.erb +1 -0
- data/views/shared/flash.js.erb +10 -0
- data/views/users/_rows.erb +26 -0
- data/views/users/filter.js.erb +4 -0
- data/views/users/index.erb +24 -0
- data/views/users/index.js.erb +2 -0
- metadata +347 -0
data/views/logs/show.erb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
<p id="info">
|
2
|
+
<%=image_tag mole_type_icon( @log['typ'] ), :border => 0 %>
|
3
|
+
<p class="title" id="type">
|
4
|
+
<%=human_type @log['typ'] %>
|
5
|
+
</p>
|
6
|
+
<p class="title" id="feature">
|
7
|
+
<%=feature_name_for @log['fid'] %>
|
8
|
+
</p>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<div id="info">
|
12
|
+
<table class="info" width="100%" cellspacing="0" cellpadding="0" style="">
|
13
|
+
<tbody>
|
14
|
+
<% if @log['pat'] %>
|
15
|
+
<tr>
|
16
|
+
<td class="label">Path</td>
|
17
|
+
<td><%=@log['pat']%></td>
|
18
|
+
</tr>
|
19
|
+
<% end %>
|
20
|
+
<tr>
|
21
|
+
<td class="label">User</td>
|
22
|
+
<td><%=user_name_for @log['uid'] %></td>
|
23
|
+
</tr>
|
24
|
+
<tr>
|
25
|
+
<td class="label">Method</td>
|
26
|
+
<td><%=@log['met']%></td>
|
27
|
+
</tr>
|
28
|
+
<tr>
|
29
|
+
<td class="label">Url</td>
|
30
|
+
<td><%=@log['url']%></td>
|
31
|
+
</tr>
|
32
|
+
<% if @log['rti'] %>
|
33
|
+
<tr>
|
34
|
+
<td class="label">Duration</td>
|
35
|
+
<td><%="%4.2f secs" % @log['rti']%></td>
|
36
|
+
</tr>
|
37
|
+
<% end %>
|
38
|
+
<tr>
|
39
|
+
<td class="label">Software</td>
|
40
|
+
<td><%=@log['sof']%></td>
|
41
|
+
</tr>
|
42
|
+
<% if @log['msg'] %>
|
43
|
+
<tr>
|
44
|
+
<td class="label" valign="top">Error</td>
|
45
|
+
<td><%=truncate( @log['msg'], 300 )%></td>
|
46
|
+
</tr>
|
47
|
+
<tr>
|
48
|
+
<td class="label" valign="top">Stack [<%=@log['sta'].size%>]</td>
|
49
|
+
<td><%=partial :'logs/array', :object => @log['sta']%></td>
|
50
|
+
</tr>
|
51
|
+
<% end %>
|
52
|
+
<% if @log['par'] %>
|
53
|
+
<tr>
|
54
|
+
<td class="label" valign="top">Parameters</td>
|
55
|
+
<td><%=partial :'logs/hash', :object => @log['par']%></td>
|
56
|
+
</tr>
|
57
|
+
<% end %>
|
58
|
+
<% if @log['ses'] %>
|
59
|
+
<tr>
|
60
|
+
<td class="label" valign="top">Session</td>
|
61
|
+
<td><%=partial :'logs/hash', :object => @log['ses']%></td>
|
62
|
+
</tr>
|
63
|
+
<% end %>
|
64
|
+
</tbody>
|
65
|
+
</table>
|
66
|
+
</div>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<% if @reports.count == 0 %>
|
2
|
+
<div class="doh">
|
3
|
+
<p>Unable to find a Rackamole MongoDb database on this connection.</p>
|
4
|
+
<p>Make sure you moled database follows this naming convention</p>
|
5
|
+
<p>mole_{<i>application name in lower case</i>}_{<i>environment</i>}_mdb</p>
|
6
|
+
</div>
|
7
|
+
<% else %>
|
8
|
+
<% @reports.each do |report| %>
|
9
|
+
<div class="mission">
|
10
|
+
<p class="app_name"><%= report['app'] %></p>
|
11
|
+
<% report['envs'].keys.sort.each do |env| %>
|
12
|
+
<div class="environment">
|
13
|
+
<div class="env">
|
14
|
+
<%= link_to env, "/dashboard/#{report['app']}/#{env}", :class => 'site_link app_link' %>
|
15
|
+
</div>
|
16
|
+
<div class="details">
|
17
|
+
<table border='0' width="100%">
|
18
|
+
<% report['envs'][env].each do |type, count| %>
|
19
|
+
<% diff = compute_diff( report['app'], env, type, count )%>
|
20
|
+
<tr>
|
21
|
+
<td class="<%=assign_class( type, count, diff )%>" align="left">
|
22
|
+
<%=type.capitalize %>
|
23
|
+
</td>
|
24
|
+
<td>
|
25
|
+
<%=count%>
|
26
|
+
</td>
|
27
|
+
<td>
|
28
|
+
‹<%= delta?( diff ) %>›
|
29
|
+
</td>
|
30
|
+
<% if type != 'features' and count > 0%>
|
31
|
+
<td align='right'>
|
32
|
+
<%= link_to_remote 'fixed',
|
33
|
+
"/mission/fixed/#{report['app']}/#{env}/#{type}",
|
34
|
+
:class => "fixed" %>
|
35
|
+
</td>
|
36
|
+
<% else %>
|
37
|
+
<td>
|
38
|
+
<p style="width:30px"></p>
|
39
|
+
</td>
|
40
|
+
<% end %>
|
41
|
+
</tr>
|
42
|
+
<% end %>
|
43
|
+
</table>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<% end %>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
<% end %>
|
@@ -0,0 +1,63 @@
|
|
1
|
+
<div id="filters">
|
2
|
+
<form id="filter_form">
|
3
|
+
<fieldset id="submit">
|
4
|
+
<label>
|
5
|
+
|
6
|
+
<input type="submit" name="commit" value="Filter"/>
|
7
|
+
<%= image_tag 'loading.gif', :border => '0', :size => '24x24', :id => 'loading' %>
|
8
|
+
</label>
|
9
|
+
</fieldset>
|
10
|
+
|
11
|
+
<fieldset class="inline">
|
12
|
+
<label for="time_frame">
|
13
|
+
Time range:
|
14
|
+
<select id="time_frame" name="filter[time_frame]">
|
15
|
+
<%= options_for_select Wackamole::SearchFilter.time_frames, @filter.time_frame %>
|
16
|
+
</select>
|
17
|
+
</label>
|
18
|
+
</fieldset>
|
19
|
+
|
20
|
+
<fieldset class="inline">
|
21
|
+
<label for="type">
|
22
|
+
Type:
|
23
|
+
<select id="type" name="filter[type]">
|
24
|
+
<%= options_for_select Wackamole::SearchFilter.mole_types, @filter.type %>
|
25
|
+
</select>
|
26
|
+
</label>
|
27
|
+
</fieldset>
|
28
|
+
|
29
|
+
<fieldset class="inline">
|
30
|
+
<label for="browser_type">
|
31
|
+
Browser:
|
32
|
+
<select id="browser_type" name="filter[browser_type]">
|
33
|
+
<%= options_for_select Wackamole::SearchFilter.browser_types, @filter.browser_type %>
|
34
|
+
</select>
|
35
|
+
</label>
|
36
|
+
</fieldset>
|
37
|
+
|
38
|
+
<fieldset class="inline">
|
39
|
+
<label for="feature">
|
40
|
+
Context:
|
41
|
+
<select id="feature" name="filter[feature_id]">
|
42
|
+
<%= options_for_select @filter.features, @filter.feature_id %>
|
43
|
+
</select>
|
44
|
+
</label>
|
45
|
+
</fieldset>
|
46
|
+
</form>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<%= partial :'shared/search' %>
|
50
|
+
|
51
|
+
<script>
|
52
|
+
$( function() {
|
53
|
+
$('form#filter_form').submit( function() {
|
54
|
+
$.ajax( { beforeSend: function(request){ $('#loading' ).show(); },
|
55
|
+
complete: function(request){ $('#loading' ).hide(); },
|
56
|
+
data: $.param( $(this).serializeArray() ),
|
57
|
+
dataType: 'script',
|
58
|
+
type: 'post',
|
59
|
+
url: '<%=@filter_path%>' });
|
60
|
+
return false;
|
61
|
+
});
|
62
|
+
});
|
63
|
+
</script>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div id="search">
|
2
|
+
<form id="search_form">
|
3
|
+
<input id="search_term" class="search" type="text" size="30" name="search_filter[search_terms]"/>
|
4
|
+
<%= image_tag 'loading.gif', :border => 0, :size => "22x22", :id => "search_loader" %>
|
5
|
+
<input type="submit" value="Search" style="display: none;" name="commit"/>
|
6
|
+
</form>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<script>
|
10
|
+
$(document).ready( function() {
|
11
|
+
$('input#search_term').example( 'Search...' );
|
12
|
+
|
13
|
+
$('form#search_form' ).submit( function() {
|
14
|
+
$.ajax( {
|
15
|
+
beforeSend: function(request){ $('img#search_loader' ).show(); },
|
16
|
+
complete: function(request){ $('img#search_loader' ).hide(); },
|
17
|
+
data: $.param( $(this).serializeArray() ),
|
18
|
+
dataType: 'script',
|
19
|
+
type: 'post',
|
20
|
+
url: '<%=@search_path%>'
|
21
|
+
});
|
22
|
+
return false;
|
23
|
+
});
|
24
|
+
});
|
25
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= @updated_on.strftime( "%m/%d/%y %H:%M:%S") %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<p style="text-align:center"><%= image_tag "loading1.gif", :border => 0, :size => "64x88" %></p>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if @flash %>
|
2
|
+
$('div.flash').html( "<%=escape_javascript(partial(:'shared/flash'))%>" );
|
3
|
+
$('div.flash').show();
|
4
|
+
<% if @flash[:error] %>
|
5
|
+
$('div.flash').attr( 'class', 'flash flash_error' );
|
6
|
+
<% else %>
|
7
|
+
$('div.flash').attr( 'class', 'flash flash_info' );
|
8
|
+
<% end %>
|
9
|
+
$('div.flash').fadeOut( 3000 );
|
10
|
+
<% end %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="page_entries">
|
2
|
+
<%= page_entries_info @users, :entry_name => 'users' %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<div id="content">
|
6
|
+
<table border="0" class="logs">
|
7
|
+
<thead>
|
8
|
+
<tr>
|
9
|
+
<th width="25%">Username</th>
|
10
|
+
<th align='right' width="5%">Totals</th>
|
11
|
+
<tr>
|
12
|
+
</thead>
|
13
|
+
<tbody>
|
14
|
+
<% count=0;@users.each do |row| %>
|
15
|
+
<% color = count % 2 == 0 ? 'transparent' : 'transparent url(/images/fade.png) repeat-x' %>
|
16
|
+
<tr style="background:<%=color%>">
|
17
|
+
<td><b><%=row[:name]%></b></td>
|
18
|
+
<td align="right"><b><%=row[:total]%></b></td>
|
19
|
+
</tr>
|
20
|
+
<% count+=1;end %>
|
21
|
+
</tbody>
|
22
|
+
</table>
|
23
|
+
</div>
|
24
|
+
<div class="pages">
|
25
|
+
<%= will_paginate @users, :previous_label => " ", :next_label => " ", :params => { :url => "/users" } %>
|
26
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= partial :'shared/filter' %>
|
2
|
+
|
3
|
+
<div id="users">
|
4
|
+
<%= partial :'users/rows'%>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<script>
|
8
|
+
$( function() {
|
9
|
+
$('a.users').addClass( 'current' );
|
10
|
+
|
11
|
+
$('a.nav_link').click( function() {
|
12
|
+
$("a.nav_link").removeClass( "current" );
|
13
|
+
$(this).addClass( 'current' );
|
14
|
+
return true;
|
15
|
+
});
|
16
|
+
|
17
|
+
$('.pagination a').live( 'click', function() {
|
18
|
+
$("#content").html( '<%=partial :"shared/wait"%>' );
|
19
|
+
$.getScript( this.href );
|
20
|
+
return false;
|
21
|
+
});
|
22
|
+
});
|
23
|
+
</script>
|
24
|
+
|
metadata
ADDED
@@ -0,0 +1,347 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wackamole
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Fernand Galiana
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-01-20 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: mongo
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.18.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: mongo_ext
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.18.1
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: agnostic-will_paginate
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 3.0.0
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: memcache-client
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.5.0
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mongo_rack
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 0.0.1
|
64
|
+
version:
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: main
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 4.2.0
|
74
|
+
version:
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: sinatra
|
77
|
+
type: :runtime
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.9.4
|
84
|
+
version:
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: mongo_rack
|
87
|
+
type: :runtime
|
88
|
+
version_requirement:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.0.3
|
94
|
+
version:
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: bones
|
97
|
+
type: :development
|
98
|
+
version_requirement:
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.5.1
|
104
|
+
version:
|
105
|
+
description: |-
|
106
|
+
This is a companion sinatra app for the Rackamole framework which provides for recording
|
107
|
+
interactions with your rack applications. Wackamole allows you to view, filter and drilldown
|
108
|
+
on the collected moled information, hence allowing you to observe your
|
109
|
+
applications live in the wild...
|
110
|
+
email: fernand.galiana@gmail.com
|
111
|
+
executables:
|
112
|
+
- wackamole
|
113
|
+
extensions: []
|
114
|
+
|
115
|
+
extra_rdoc_files:
|
116
|
+
- views/dashboard/_report.erb
|
117
|
+
- views/dashboard/index.erb
|
118
|
+
- views/dashboard/refresh_js.erb
|
119
|
+
- views/features/_rows.erb
|
120
|
+
- views/features/filter.js.erb
|
121
|
+
- views/features/index.erb
|
122
|
+
- views/features/index.js.erb
|
123
|
+
- views/layout.erb
|
124
|
+
- views/logs/_array.erb
|
125
|
+
- views/logs/_hash.erb
|
126
|
+
- views/logs/_rows.erb
|
127
|
+
- views/logs/filter.js.erb
|
128
|
+
- views/logs/index.erb
|
129
|
+
- views/logs/index.js.erb
|
130
|
+
- views/logs/show.erb
|
131
|
+
- views/mission/_report.erb
|
132
|
+
- views/mission/index.erb
|
133
|
+
- views/mission/refresh_js.erb
|
134
|
+
- views/shared/_filter.erb
|
135
|
+
- views/shared/_flash.erb
|
136
|
+
- views/shared/_search.erb
|
137
|
+
- views/shared/_timestamp.erb
|
138
|
+
- views/shared/_wait.erb
|
139
|
+
- views/shared/flash.js.erb
|
140
|
+
- views/users/_rows.erb
|
141
|
+
- views/users/filter.js.erb
|
142
|
+
- views/users/index.erb
|
143
|
+
- views/users/index.js.erb
|
144
|
+
files:
|
145
|
+
- .bnsignore
|
146
|
+
- .gitignore
|
147
|
+
- History.txt
|
148
|
+
- README.rdoc
|
149
|
+
- Rakefile
|
150
|
+
- aa.rb
|
151
|
+
- aaa.txt
|
152
|
+
- bin/wackamole
|
153
|
+
- lib/app.rb
|
154
|
+
- lib/controllers/dashboard.rb
|
155
|
+
- lib/controllers/features.rb
|
156
|
+
- lib/controllers/logs.rb
|
157
|
+
- lib/controllers/mission.rb
|
158
|
+
- lib/controllers/users.rb
|
159
|
+
- lib/helpers/dashboard_helper.rb
|
160
|
+
- lib/helpers/features_helper.rb
|
161
|
+
- lib/helpers/flash_helper.rb
|
162
|
+
- lib/helpers/logs_helper.rb
|
163
|
+
- lib/helpers/main_helper.rb
|
164
|
+
- lib/helpers/mission_helper.rb
|
165
|
+
- lib/helpers/rails_helper.rb
|
166
|
+
- lib/wackamole.rb
|
167
|
+
- lib/wackamole/core_ext/date_time.rb
|
168
|
+
- lib/wackamole/core_ext/time.rb
|
169
|
+
- lib/wackamole/models/control.rb
|
170
|
+
- lib/wackamole/models/feature.rb
|
171
|
+
- lib/wackamole/models/log.rb
|
172
|
+
- lib/wackamole/models/mission.rb
|
173
|
+
- lib/wackamole/models/mole_info.rb
|
174
|
+
- lib/wackamole/models/search_filter.rb
|
175
|
+
- lib/wackamole/models/user.rb
|
176
|
+
- public/favicon.ico
|
177
|
+
- public/images/.DS_Store
|
178
|
+
- public/images/browsers/.DS_Store
|
179
|
+
- public/images/browsers/MSIE 6.0.psd
|
180
|
+
- public/images/browsers/MSIE 6.png
|
181
|
+
- public/images/browsers/MSIE 7.0.psd
|
182
|
+
- public/images/browsers/MSIE 8.0
|
183
|
+
- public/images/browsers/MSIE 8.0.png
|
184
|
+
- public/images/browsers/chrome.png
|
185
|
+
- public/images/browsers/chrome.psd
|
186
|
+
- public/images/browsers/firefox.png
|
187
|
+
- public/images/browsers/firefox.psd
|
188
|
+
- public/images/browsers/ie 6.0.png
|
189
|
+
- public/images/browsers/ie 6.psd
|
190
|
+
- public/images/browsers/ie6.jpg
|
191
|
+
- public/images/browsers/ie7.0.psd
|
192
|
+
- public/images/browsers/ie7.jpg
|
193
|
+
- public/images/browsers/ie7.png
|
194
|
+
- public/images/browsers/ie7.psd
|
195
|
+
- public/images/browsers/msie 6.0.png
|
196
|
+
- public/images/browsers/msie 7.0.png
|
197
|
+
- public/images/browsers/opera.jpg
|
198
|
+
- public/images/browsers/opera.png
|
199
|
+
- public/images/browsers/opera.psd
|
200
|
+
- public/images/browsers/safari.jpg
|
201
|
+
- public/images/browsers/safari.png
|
202
|
+
- public/images/browsers/safari.psd
|
203
|
+
- public/images/browsers/unknown_browser.png
|
204
|
+
- public/images/browsers/unknown_browser.psd
|
205
|
+
- public/images/close.png
|
206
|
+
- public/images/error.png
|
207
|
+
- public/images/error.psd
|
208
|
+
- public/images/fade.png
|
209
|
+
- public/images/fault_big.png
|
210
|
+
- public/images/fault_big.psd
|
211
|
+
- public/images/fault_small.png
|
212
|
+
- public/images/fault_small.psd
|
213
|
+
- public/images/feature.png
|
214
|
+
- public/images/feature.psd
|
215
|
+
- public/images/h300.png
|
216
|
+
- public/images/hori_large.png
|
217
|
+
- public/images/info_big.png
|
218
|
+
- public/images/info_big.psd
|
219
|
+
- public/images/info_small.png
|
220
|
+
- public/images/info_small.psd
|
221
|
+
- public/images/loading.gif
|
222
|
+
- public/images/loading1.gif
|
223
|
+
- public/images/mole_error.png
|
224
|
+
- public/images/mole_error.psd
|
225
|
+
- public/images/more.gif
|
226
|
+
- public/images/next.png
|
227
|
+
- public/images/next.psd
|
228
|
+
- public/images/perf_big.png
|
229
|
+
- public/images/perf_big.psd
|
230
|
+
- public/images/perf_small.png
|
231
|
+
- public/images/perf_small.psd
|
232
|
+
- public/images/powered_by.png
|
233
|
+
- public/images/powered_by.psd
|
234
|
+
- public/images/prev.png
|
235
|
+
- public/images/prev.psd
|
236
|
+
- public/images/row_fade.png
|
237
|
+
- public/images/search.png
|
238
|
+
- public/images/search.psd
|
239
|
+
- public/images/small_logo.png
|
240
|
+
- public/images/spaceball.gif
|
241
|
+
- public/images/tick.png
|
242
|
+
- public/images/users.png
|
243
|
+
- public/images/users.psd
|
244
|
+
- public/images/wackamole_logo.png
|
245
|
+
- public/images/wackamole_logo.psd
|
246
|
+
- public/javascripts/.DS_Store
|
247
|
+
- public/javascripts/application.js
|
248
|
+
- public/javascripts/g.dot.min.js
|
249
|
+
- public/javascripts/g.raphael.min.js
|
250
|
+
- public/javascripts/jit.js
|
251
|
+
- public/javascripts/jit.min.js
|
252
|
+
- public/javascripts/jquery-ui.js
|
253
|
+
- public/javascripts/jquery.example.js
|
254
|
+
- public/javascripts/jquery.js
|
255
|
+
- public/javascripts/jquery.tools.min.js
|
256
|
+
- public/javascripts/jquery_ba-url.js
|
257
|
+
- public/javascripts/jquery_min.js
|
258
|
+
- public/javascripts/jquery_ui_min.js
|
259
|
+
- public/javascripts/raphael.min.js
|
260
|
+
- public/stylesheets/tabs-slideshow.css
|
261
|
+
- public/stylesheets/wackamole.css
|
262
|
+
- spec/config/bogus_test.yml
|
263
|
+
- spec/config/test.yml
|
264
|
+
- spec/core_ext/date_time_spec.rb
|
265
|
+
- spec/core_ext/time_spec.rb
|
266
|
+
- spec/data/fixtures.rb
|
267
|
+
- spec/models/control_spec.rb
|
268
|
+
- spec/models/feature_spec.rb
|
269
|
+
- spec/models/log_spec.rb
|
270
|
+
- spec/models/mission_spec.rb
|
271
|
+
- spec/models/moled_info_spec.rb
|
272
|
+
- spec/models/search_filter_spec.rb
|
273
|
+
- spec/models/user_spec.rb
|
274
|
+
- spec/spec_helper.rb
|
275
|
+
- spec/wackamole_spec.rb
|
276
|
+
- tasks/bones.rake
|
277
|
+
- tasks/fixtures.rake
|
278
|
+
- tasks/gem.rake
|
279
|
+
- tasks/git.rake
|
280
|
+
- tasks/notes.rake
|
281
|
+
- tasks/post_load.rake
|
282
|
+
- tasks/rdoc.rake
|
283
|
+
- tasks/rubyforge.rake
|
284
|
+
- tasks/setup.rb
|
285
|
+
- tasks/spec.rake
|
286
|
+
- tasks/svn.rake
|
287
|
+
- views/dashboard/_report.erb
|
288
|
+
- views/dashboard/index.erb
|
289
|
+
- views/dashboard/refresh_js.erb
|
290
|
+
- views/features/_rows.erb
|
291
|
+
- views/features/filter.js.erb
|
292
|
+
- views/features/index.erb
|
293
|
+
- views/features/index.js.erb
|
294
|
+
- views/layout.erb
|
295
|
+
- views/logs/_array.erb
|
296
|
+
- views/logs/_hash.erb
|
297
|
+
- views/logs/_rows.erb
|
298
|
+
- views/logs/filter.js.erb
|
299
|
+
- views/logs/index.erb
|
300
|
+
- views/logs/index.js.erb
|
301
|
+
- views/logs/show.erb
|
302
|
+
- views/mission/_report.erb
|
303
|
+
- views/mission/index.erb
|
304
|
+
- views/mission/refresh_js.erb
|
305
|
+
- views/shared/_filter.erb
|
306
|
+
- views/shared/_flash.erb
|
307
|
+
- views/shared/_search.erb
|
308
|
+
- views/shared/_timestamp.erb
|
309
|
+
- views/shared/_wait.erb
|
310
|
+
- views/shared/flash.js.erb
|
311
|
+
- views/users/_rows.erb
|
312
|
+
- views/users/filter.js.erb
|
313
|
+
- views/users/index.erb
|
314
|
+
- views/users/index.js.erb
|
315
|
+
has_rdoc: true
|
316
|
+
homepage: http://www.rackamole.com
|
317
|
+
licenses: []
|
318
|
+
|
319
|
+
post_install_message:
|
320
|
+
rdoc_options:
|
321
|
+
- --main
|
322
|
+
- README.rdoc
|
323
|
+
require_paths:
|
324
|
+
- lib
|
325
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
326
|
+
requirements:
|
327
|
+
- - ">="
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: "0"
|
330
|
+
version:
|
331
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
|
+
requirements:
|
333
|
+
- - ">="
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: "0"
|
336
|
+
version:
|
337
|
+
requirements: []
|
338
|
+
|
339
|
+
rubyforge_project: !binary |
|
340
|
+
AA==
|
341
|
+
|
342
|
+
rubygems_version: 1.3.5
|
343
|
+
signing_key:
|
344
|
+
specification_version: 3
|
345
|
+
summary: A companion web app to Rackamole
|
346
|
+
test_files: []
|
347
|
+
|