maglev-webtools 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +25 -0
- data/README.rdoc +121 -0
- data/bin/webtools +15 -0
- data/lib/web_tools/#debugger.rb# +212 -0
- data/lib/web_tools/browser.rb +45 -0
- data/lib/web_tools/debugger.rb +219 -0
- data/lib/web_tools/info.rb +29 -0
- data/lib/web_tools/middleware/debugger.rb +118 -0
- data/lib/web_tools/support/app_model.rb +117 -0
- data/lib/web_tools/support/code_browser.rb +109 -0
- data/lib/web_tools/support/ruby.rb +132 -0
- data/lib/web_tools/support/service_helper.rb +22 -0
- data/lib/web_tools/support/smalltalk_extensions.rb +65 -0
- data/lib/web_tools/support/smalltalk_tools.rb +16 -0
- data/lib/web_tools/ui.rb +67 -0
- data/lib/web_tools.rb +10 -0
- data/public/images/favicon.ico +0 -0
- data/public/javascript/CodeMirror/LICENSE +23 -0
- data/public/javascript/CodeMirror/css/Smalltalk.css +34 -0
- data/public/javascript/CodeMirror/js/codemirror.js +582 -0
- data/public/javascript/CodeMirror/js/editor.js +1671 -0
- data/public/javascript/CodeMirror/js/highlight.js +68 -0
- data/public/javascript/CodeMirror/js/parseSmalltalk.js +126 -0
- data/public/javascript/CodeMirror/js/parsedummy.js +32 -0
- data/public/javascript/CodeMirror/js/select.js +699 -0
- data/public/javascript/CodeMirror/js/stringstream.js +159 -0
- data/public/javascript/CodeMirror/js/tokenize.js +57 -0
- data/public/javascript/CodeMirror/js/undo.js +413 -0
- data/public/javascript/CodeMirror/js/util.js +133 -0
- data/public/javascript/CodeMirror/testSmalltalkParser.html +116 -0
- data/public/javascript/ace/ace-uncompressed.js +17299 -0
- data/public/javascript/ace/ace.js +1 -0
- data/public/javascript/ace/keybinding-emacs.js +1 -0
- data/public/javascript/ace/keybinding-vim.js +1 -0
- data/public/javascript/ace/mode-c_cpp.js +1 -0
- data/public/javascript/ace/mode-clojure.js +1 -0
- data/public/javascript/ace/mode-coffee.js +1 -0
- data/public/javascript/ace/mode-csharp.js +1 -0
- data/public/javascript/ace/mode-css.js +1 -0
- data/public/javascript/ace/mode-groovy.js +1 -0
- data/public/javascript/ace/mode-html.js +1 -0
- data/public/javascript/ace/mode-java.js +1 -0
- data/public/javascript/ace/mode-javascript.js +1 -0
- data/public/javascript/ace/mode-json.js +1 -0
- data/public/javascript/ace/mode-lua.js +1 -0
- data/public/javascript/ace/mode-markdown.js +1 -0
- data/public/javascript/ace/mode-ocaml.js +1 -0
- data/public/javascript/ace/mode-perl.js +1 -0
- data/public/javascript/ace/mode-php.js +1 -0
- data/public/javascript/ace/mode-python.js +1 -0
- data/public/javascript/ace/mode-ruby.js +1 -0
- data/public/javascript/ace/mode-scad.js +1 -0
- data/public/javascript/ace/mode-scala.js +1 -0
- data/public/javascript/ace/mode-scss.js +1 -0
- data/public/javascript/ace/mode-svg.js +1 -0
- data/public/javascript/ace/mode-textile.js +1 -0
- data/public/javascript/ace/mode-xml.js +1 -0
- data/public/javascript/ace/theme-clouds.js +1 -0
- data/public/javascript/ace/theme-clouds_midnight.js +1 -0
- data/public/javascript/ace/theme-cobalt.js +1 -0
- data/public/javascript/ace/theme-crimson_editor.js +1 -0
- data/public/javascript/ace/theme-dawn.js +1 -0
- data/public/javascript/ace/theme-eclipse.js +1 -0
- data/public/javascript/ace/theme-idle_fingers.js +1 -0
- data/public/javascript/ace/theme-kr_theme.js +1 -0
- data/public/javascript/ace/theme-merbivore.js +1 -0
- data/public/javascript/ace/theme-merbivore_soft.js +1 -0
- data/public/javascript/ace/theme-mono_industrial.js +1 -0
- data/public/javascript/ace/theme-monokai.js +1 -0
- data/public/javascript/ace/theme-pastel_on_dark.js +1 -0
- data/public/javascript/ace/theme-solarized_dark.js +1 -0
- data/public/javascript/ace/theme-solarized_light.js +1 -0
- data/public/javascript/ace/theme-textmate.js +1 -0
- data/public/javascript/ace/theme-twilight.js +1 -0
- data/public/javascript/ace/theme-vibrant_ink.js +1 -0
- data/public/javascript/ace/worker-coffee.js +1 -0
- data/public/javascript/ace/worker-css.js +1 -0
- data/public/javascript/ace/worker-javascript.js +1 -0
- data/public/javascript/webtools/#debugger.coffee# +253 -0
- data/public/javascript/webtools/browser.js +260 -0
- data/public/javascript/webtools/debugger.coffee +286 -0
- data/public/javascript/webtools/debugger.js +366 -0
- data/public/javascript/webtools/sessions.coffee +17 -0
- data/public/javascript/webtools/sessions.js +27 -0
- data/public/javascript/webtools/version.coffee +14 -0
- data/public/javascript/webtools/version.js +20 -0
- data/public/stylesheets/base/images/ui-anim_basic_16x16.gif +0 -0
- data/public/stylesheets/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/public/stylesheets/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/public/stylesheets/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/public/stylesheets/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/public/stylesheets/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/public/stylesheets/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/public/stylesheets/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/public/stylesheets/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/public/stylesheets/base/images/ui-icons_222222_256x240.png +0 -0
- data/public/stylesheets/base/images/ui-icons_2e83ff_256x240.png +0 -0
- data/public/stylesheets/base/images/ui-icons_454545_256x240.png +0 -0
- data/public/stylesheets/base/images/ui-icons_888888_256x240.png +0 -0
- data/public/stylesheets/base/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/public/stylesheets/base/jquery.ui.accordion.css +12 -0
- data/public/stylesheets/base/jquery.ui.all.css +2 -0
- data/public/stylesheets/base/jquery.ui.autocomplete.css +39 -0
- data/public/stylesheets/base/jquery.ui.base.css +11 -0
- data/public/stylesheets/base/jquery.ui.button.css +35 -0
- data/public/stylesheets/base/jquery.ui.core.css +37 -0
- data/public/stylesheets/base/jquery.ui.datepicker.css +61 -0
- data/public/stylesheets/base/jquery.ui.dialog.css +13 -0
- data/public/stylesheets/base/jquery.ui.progressbar.css +4 -0
- data/public/stylesheets/base/jquery.ui.resizable.css +13 -0
- data/public/stylesheets/base/jquery.ui.selectable.css +3 -0
- data/public/stylesheets/base/jquery.ui.slider.css +17 -0
- data/public/stylesheets/base/jquery.ui.tabs.css +11 -0
- data/public/stylesheets/base/jquery.ui.theme.css +247 -0
- data/public/stylesheets/jquery.contextMenu.css +62 -0
- data/public/stylesheets/reset.css +18 -0
- data/public/stylesheets/webtools.css +53 -0
- data/public/test.html +47 -0
- data/views/browser.rhtml +63 -0
- data/views/debugger.rhtml +59 -0
- data/views/index.rhtml +8 -0
- data/views/layout.rhtml +24 -0
- data/views/sessions.rhtml +12 -0
- data/views/version.rhtml +10 -0
- metadata +316 -0
@@ -0,0 +1,62 @@
|
|
1
|
+
/* Generic context menu styles */
|
2
|
+
.contextMenu {
|
3
|
+
position: absolute;
|
4
|
+
width: 120px;
|
5
|
+
z-index: 99999;
|
6
|
+
border: solid 1px #CCC;
|
7
|
+
background: #EEE;
|
8
|
+
padding: 0px;
|
9
|
+
margin: 0px;
|
10
|
+
display: none;
|
11
|
+
}
|
12
|
+
|
13
|
+
.contextMenu LI {
|
14
|
+
list-style: none;
|
15
|
+
padding: 0px;
|
16
|
+
margin: 0px;
|
17
|
+
}
|
18
|
+
|
19
|
+
.contextMenu A {
|
20
|
+
color: #333;
|
21
|
+
text-decoration: none;
|
22
|
+
display: block;
|
23
|
+
line-height: 20px;
|
24
|
+
height: 20px;
|
25
|
+
background-position: 6px center;
|
26
|
+
background-repeat: no-repeat;
|
27
|
+
outline: none;
|
28
|
+
padding: 1px 5px;
|
29
|
+
padding-left: 28px;
|
30
|
+
}
|
31
|
+
|
32
|
+
.contextMenu LI.hover A {
|
33
|
+
color: #FFF;
|
34
|
+
background-color: #3399FF;
|
35
|
+
}
|
36
|
+
|
37
|
+
.contextMenu LI.disabled A {
|
38
|
+
color: #AAA;
|
39
|
+
cursor: default;
|
40
|
+
}
|
41
|
+
|
42
|
+
.contextMenu LI.hover.disabled A {
|
43
|
+
background-color: transparent;
|
44
|
+
}
|
45
|
+
|
46
|
+
.contextMenu LI.separator {
|
47
|
+
border-top: solid 1px #CCC;
|
48
|
+
}
|
49
|
+
|
50
|
+
/*
|
51
|
+
Adding Icons
|
52
|
+
|
53
|
+
You can add icons to the context menu by adding
|
54
|
+
classes to the respective LI element(s)
|
55
|
+
*/
|
56
|
+
|
57
|
+
.contextMenu LI.edit A { background-image: url(images/page_white_edit.png); }
|
58
|
+
.contextMenu LI.cut A { background-image: url(images/cut.png); }
|
59
|
+
.contextMenu LI.copy A { background-image: url(images/page_white_copy.png); }
|
60
|
+
.contextMenu LI.paste A { background-image: url(images/page_white_paste.png); }
|
61
|
+
.contextMenu LI.delete A { background-image: url(images/page_white_delete.png); }
|
62
|
+
.contextMenu LI.quit A { background-image: url(images/door.png); }
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
html{color:#000;background:#FFF;}
|
3
|
+
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,
|
4
|
+
form,fieldset,legend,input,textarea,p,blockquote,th,td,select
|
5
|
+
{margin:0;padding:0;}
|
6
|
+
table{border-collapse:collapse;border-spacing:0;}
|
7
|
+
fieldset,img{border:0;}
|
8
|
+
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
|
9
|
+
li{list-style:none;}
|
10
|
+
caption,th{text-align:left;}
|
11
|
+
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
|
12
|
+
q:before,q:after{content:'''';}
|
13
|
+
abbr,acronym {border:0;font-variant:normal;}
|
14
|
+
sup{vertical-align:text-top;}
|
15
|
+
sub{vertical-align:text-bottom;}
|
16
|
+
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
|
17
|
+
input,textarea,select{*font-size:100%;}
|
18
|
+
legend{color:#000;}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
@import "reset.css";
|
2
|
+
@import "base/jquery.ui.all.css";
|
3
|
+
@import "jquery.contextMenu.css";
|
4
|
+
|
5
|
+
body * { font-size: 10pt; margin: 0; padding: 0; font-family: sans-serif;}
|
6
|
+
.hidden { display: none; }
|
7
|
+
|
8
|
+
/* Setup the basic structure of the panels */
|
9
|
+
#rubyCodeBrowser { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
|
10
|
+
#toolBar { }
|
11
|
+
#mainContent { position: absolute; bottom: 2em; top: 2em; width: 100%; }
|
12
|
+
#rubyNavigation { position: absolute; top: 0; bottom: 50%; left: 0; right: 0; }
|
13
|
+
#captions { position: absolute; top: 0; bottom: 2em; left: 0; right: 0; height: 2em; }
|
14
|
+
#lists { position: absolute; top: 2em; left: 0; right: 0; bottom: 0; }
|
15
|
+
#modules { float: left; width: 20%; height: 100%;}
|
16
|
+
#constants { float: left; width: 20%; height: 100%;}
|
17
|
+
#moduleMethods { float: left; width: 20%; height: 100%;}
|
18
|
+
#instanceMethods { float: left; width: 20%; height: 100%; }
|
19
|
+
#ancestors { float: left; width: 20%; height: 100%;}
|
20
|
+
#detailDisplay { position: absolute; bottom: 0; top: 50%; left: 0; right: 0;
|
21
|
+
border: 2px solid #DDD; border-top: none; overflow-y: auto; }
|
22
|
+
#objectInspector { }
|
23
|
+
#rubyEditArea { }
|
24
|
+
#footer { position: absolute; bottom: 0; width: 100%; background: #DDD; }
|
25
|
+
#fileInfo { height: 2em; padding-top: .5em; padding-left: 2.5em; }
|
26
|
+
#statusBar { float: right; padding: 0.25em; width 60%; font-size: smaller; }
|
27
|
+
|
28
|
+
/* Stylistic stuff */
|
29
|
+
.rubyList { overflow-y: scroll; overflow-x: hidden; height: 100%;
|
30
|
+
border: 1px solid #DDD; border-top: none; }
|
31
|
+
.rubyList li { border: 0; width: 100%; }
|
32
|
+
.rubyList li:hover { background: #CCC; }
|
33
|
+
|
34
|
+
#rubyNavigation { overflow: hidden; border: 2px solid #DDD; border-top: none; }
|
35
|
+
#ancestors li:hover { background: inherit; }
|
36
|
+
|
37
|
+
.ui-selected { background: #AAA; }
|
38
|
+
.caption { font-weight: bold; background: #EEE; text-align: center;
|
39
|
+
width: 100%; display: block; }
|
40
|
+
|
41
|
+
.CodeMirror-line-numbers {
|
42
|
+
width: 2.2em; color: #aaa; background-color: #eee; text-align: right;
|
43
|
+
padding-right: .3em; font-size: 10pt; font-family: monospace; padding-top: .4em;
|
44
|
+
line-height: normal;
|
45
|
+
}
|
46
|
+
|
47
|
+
.objTable { border-collapse: collapse; border-width: 1px solid; width: 100%;}
|
48
|
+
.objTable tr>:first-child { width: 8em; background: #EEE; }
|
49
|
+
.objTable td,th { border-style: solid; border-width: 1px; border-color: #DDD; }
|
50
|
+
.objTable caption { font-weight: bold; text-align: left; background: #AAA;}
|
51
|
+
|
52
|
+
#captions ul li { display: block; float: left; width: 20%;
|
53
|
+
font-weight: bold; background: #EEE; text-align: center; }
|
data/public/test.html
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>MagLev WebTools</title>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<link rel="Shortcut Icon" type="image/ico" href="images/favicon.ico">
|
7
|
+
|
8
|
+
<link rel="stylesheet" href="stylesheets/reset.css" type="text/css" media="screen">
|
9
|
+
<link rel="stylesheet" href="stylesheets/webtools.css" type="text/css" media="screen">
|
10
|
+
|
11
|
+
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
|
12
|
+
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
|
13
|
+
<script type="text/javascript" src="javascript/webtools.js"></script>
|
14
|
+
|
15
|
+
<script>
|
16
|
+
$(document).ready(function() {
|
17
|
+
$("#tabs").tabs();
|
18
|
+
$("#tabs").tabs('select', '#versionReport');
|
19
|
+
});
|
20
|
+
|
21
|
+
</script>
|
22
|
+
</head>
|
23
|
+
<body>
|
24
|
+
<p>Test.html: static page</p>
|
25
|
+
<div id="tabs">
|
26
|
+
<ul class="tabnav">
|
27
|
+
<li><a href="/versionReport"><span>Version Report</span></a></li>
|
28
|
+
<li><a href="#currentSessions"><span>Current Sessions</span></a></li>
|
29
|
+
<li><a href="#rubyCodeBrowser"><span>Code Browser</span></a></li>
|
30
|
+
<li><a href="#statistics"><span>Statistics</span></a></li>
|
31
|
+
</ul>
|
32
|
+
<div id="versionReport" class="tabdiv">
|
33
|
+
<p>The Version Report</p>
|
34
|
+
</div>
|
35
|
+
<div id="currentSessions" class="tabdiv">
|
36
|
+
<p>Current Sessions</p>
|
37
|
+
</div>
|
38
|
+
<div id="rubyCodeBrowser" class="tabdiv">
|
39
|
+
<p>Ruby Code Browser</p>
|
40
|
+
</div>
|
41
|
+
<div id="statistics" class="tabdiv">
|
42
|
+
<p>Statistics</p>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
<div id="statusBar"> </div>
|
46
|
+
</body>
|
47
|
+
</html>
|
data/views/browser.rhtml
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
<div id="rubyCodeBrowser" class="ui-widget-content">
|
2
|
+
<div id="toolBar"></div>
|
3
|
+
<div id="mainContent">
|
4
|
+
<div id="rubyNavigation">
|
5
|
+
<div id="captions">
|
6
|
+
<ul>
|
7
|
+
<li>Modules & Classes</li>
|
8
|
+
<li>Constants</li>
|
9
|
+
<li>Module / Class Methods</li>
|
10
|
+
<li>Instance methods</li>
|
11
|
+
<li>Ancestors</li>
|
12
|
+
</ul>
|
13
|
+
</div>
|
14
|
+
<div id="lists">
|
15
|
+
<div id="modules">
|
16
|
+
<ul id="rubyModules" class="rubyList"></ul>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div id="constants">
|
20
|
+
<ul id="rubyConstants" class="rubyList"></ul>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div id="moduleMethods">
|
24
|
+
<ul id="rubyModuleMethods" class="rubyList"></ul>
|
25
|
+
</div>
|
26
|
+
|
27
|
+
<div id="instanceMethods">
|
28
|
+
<ul id="rubyInstanceMethods" class="rubyList"></ul>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div id="ancestors">
|
32
|
+
<ul id="rubyAncestors" class="rubyList"></ul>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
<div id="detailDisplay">
|
37
|
+
<div id="objectInspector" class="hidden">
|
38
|
+
<table id="objInfo" class="objTable">
|
39
|
+
<caption>Object Info</caption>
|
40
|
+
<tbody>
|
41
|
+
<tr><th>Class</th><td id="objInfoClass"></td></tr>
|
42
|
+
<tr><th>Object ID</th><td id="objInfoId"></td></tr>
|
43
|
+
<tr><th>Value</th><td id="objInfoValue"></td></tr>
|
44
|
+
</tbody>
|
45
|
+
</table>
|
46
|
+
<table id="objInstVars" class="objTable hidden">
|
47
|
+
<caption>Instance Variables</caption>
|
48
|
+
<tbody></tbody>
|
49
|
+
</table>
|
50
|
+
<table id="objEnumValues" class="objTable hidden">
|
51
|
+
<caption>Enumerated Values</caption>
|
52
|
+
<tbody></tbody>
|
53
|
+
</table>
|
54
|
+
</div>
|
55
|
+
<div id="rubyEditArea" class="hidden">
|
56
|
+
<textArea id="rubyEditor" spellcheck="false"></textArea>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
<div id="footer">
|
62
|
+
<div id="fileInfo"></div>
|
63
|
+
</div>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<div id="rubyCodeBrowser" class="ui-widget-content">
|
2
|
+
<div id="toolBar">
|
3
|
+
<div id="dialog" title="Enter debugger service Url">
|
4
|
+
<form action="post">
|
5
|
+
<fieldset class="ui-helper-reset">
|
6
|
+
<legend>Start a new debugging session in a tab</legend>>
|
7
|
+
<label for="tab_server">Server</label><br/>
|
8
|
+
<input type="text" name="tab_server" id="tab_server" value="http://localhost:4567"
|
9
|
+
class="ui-widget-content ui-corner-all" />
|
10
|
+
</fieldset>
|
11
|
+
</form>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<button id="add_tab">Start Session</button>
|
15
|
+
<button id="clone_tab">Clone Session</button>
|
16
|
+
</div>
|
17
|
+
<div id="mainContent">
|
18
|
+
<div id="tabs">
|
19
|
+
<ul>
|
20
|
+
<li><a href="#tabs-1">Help</a></li>
|
21
|
+
</ul>
|
22
|
+
<div id="tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom">
|
23
|
+
<p>
|
24
|
+
<em>This is the MagLev WebTools Debugger</em>
|
25
|
+
Click on "Start Session" to open connect to a debugging session.
|
26
|
+
</p>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
<div id="tab_content_template" style="display:none">
|
30
|
+
<label for="process-select-box">Available Processes</label>
|
31
|
+
<select name="process-select-box">
|
32
|
+
<option value="">---</option>
|
33
|
+
</select>
|
34
|
+
<a href="#" class="reload-button">Refresh</a>
|
35
|
+
<div class="info-bar"></div>
|
36
|
+
<div class="frame-list"></div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<div id="editor" style="width: 90%; height: 200px; position: relative; display:none">
|
40
|
+
</div>
|
41
|
+
<div id="objectInspector" class="hidden">
|
42
|
+
<table class="objInfo objTable">
|
43
|
+
<caption>Object Info</caption>
|
44
|
+
<tbody>
|
45
|
+
<tr><th>Class</th><td class="objInfoClass"></td></tr>
|
46
|
+
<tr><th>Object ID</th><td class="objInfoId"></td></tr>
|
47
|
+
<tr><th>Value</th><td class="objInfoValue"></td></tr>
|
48
|
+
</tbody>
|
49
|
+
</table>
|
50
|
+
<table class="objInstVars objTable">
|
51
|
+
<caption>Instance Variables</caption>
|
52
|
+
<tbody></tbody>
|
53
|
+
</table>
|
54
|
+
<table class="objEnumValues objTable">
|
55
|
+
<caption>Enumerated Values</caption>
|
56
|
+
<tbody></tbody>
|
57
|
+
</table>
|
58
|
+
</div>
|
59
|
+
</div>
|
data/views/index.rhtml
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
<h2>There is no integration between the tools, currently</h2>
|
2
|
+
<ul>
|
3
|
+
<li><a href='browser'>Class Browser</a></li>
|
4
|
+
<li><a href='debugger'>Debugger</a></li>
|
5
|
+
<li><a href='info/version'>Version Info</a></li>
|
6
|
+
<li><a href='info/sessions'>Stone Session Info</a></li>
|
7
|
+
</ul>
|
8
|
+
<small>Go and select one directly</small>
|
data/views/layout.rhtml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>MagLev WebTools</title>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<link rel="Shortcut Icon" type="image/ico" href="images/favicon.ico">
|
7
|
+
|
8
|
+
<script type="text/javascript">
|
9
|
+
window.WebTools = {};
|
10
|
+
window.WebTools.location = "<%= @location %>";
|
11
|
+
</script>
|
12
|
+
|
13
|
+
<% @stylesheets.each do |href| %>
|
14
|
+
<link rel="stylesheet" href="<%= href %>" type="text/css" media="screen">
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<% @javascripts.each do |src| %>
|
18
|
+
<script type="text/javascript" src="<%= src %>"></script>
|
19
|
+
<% end %>
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
<%= yield %>
|
23
|
+
</body>
|
24
|
+
</html>
|
data/views/version.rhtml
ADDED
metadata
ADDED
@@ -0,0 +1,316 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: maglev-webtools
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Peter McLain
|
14
|
+
- Monty Williams
|
15
|
+
- Tim Felgentreff
|
16
|
+
autorequire:
|
17
|
+
bindir: bin
|
18
|
+
cert_chain: []
|
19
|
+
|
20
|
+
date: 2011-09-06 00:00:00 -07:00
|
21
|
+
default_executable:
|
22
|
+
dependencies:
|
23
|
+
- !ruby/object:Gem::Dependency
|
24
|
+
name: json_pure
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
hash: 5
|
32
|
+
segments:
|
33
|
+
- 1
|
34
|
+
- 5
|
35
|
+
version: "1.5"
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rack
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 13
|
47
|
+
segments:
|
48
|
+
- 1
|
49
|
+
- 1
|
50
|
+
version: "1.1"
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: rack-contrib
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 13
|
62
|
+
segments:
|
63
|
+
- 1
|
64
|
+
- 1
|
65
|
+
version: "1.1"
|
66
|
+
type: :runtime
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rack-test
|
70
|
+
prerelease: false
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 7
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
- 6
|
80
|
+
version: "0.6"
|
81
|
+
type: :development
|
82
|
+
version_requirements: *id004
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sinatra
|
85
|
+
prerelease: false
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ~>
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
hash: 31
|
92
|
+
segments:
|
93
|
+
- 1
|
94
|
+
- 2
|
95
|
+
- 0
|
96
|
+
version: 1.2.0
|
97
|
+
type: :development
|
98
|
+
version_requirements: *id005
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: activemodel
|
101
|
+
prerelease: false
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ~>
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
hash: 7
|
108
|
+
segments:
|
109
|
+
- 3
|
110
|
+
- 0
|
111
|
+
version: "3.0"
|
112
|
+
type: :development
|
113
|
+
version_requirements: *id006
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: mocha
|
116
|
+
prerelease: false
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
119
|
+
requirements:
|
120
|
+
- - ~>
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
hash: 25
|
123
|
+
segments:
|
124
|
+
- 0
|
125
|
+
- 9
|
126
|
+
version: "0.9"
|
127
|
+
type: :development
|
128
|
+
version_requirements: *id007
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: minitest
|
131
|
+
prerelease: false
|
132
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ~>
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
hash: 11
|
138
|
+
segments:
|
139
|
+
- 2
|
140
|
+
- 4
|
141
|
+
version: "2.4"
|
142
|
+
type: :development
|
143
|
+
version_requirements: *id008
|
144
|
+
description: A suite of tools for inspecting, interfacing and working with MagLev. It consists of a number of Rack middlewares to record runtime information in the stone, an associated set of Sinatra middlewares for exposing said information through a JSON interface, and a number of Sinatra web-applications that take advantage of that interface to build a few simple browser-based development tools.
|
145
|
+
email: tfelgentreff@vmware.com
|
146
|
+
executables:
|
147
|
+
- webtools
|
148
|
+
extensions: []
|
149
|
+
|
150
|
+
extra_rdoc_files: []
|
151
|
+
|
152
|
+
files:
|
153
|
+
- lib/web_tools/ui.rb
|
154
|
+
- lib/web_tools/debugger.rb
|
155
|
+
- lib/web_tools/#debugger.rb#
|
156
|
+
- lib/web_tools/info.rb
|
157
|
+
- lib/web_tools/support/smalltalk_tools.rb
|
158
|
+
- lib/web_tools/support/smalltalk_extensions.rb
|
159
|
+
- lib/web_tools/support/app_model.rb
|
160
|
+
- lib/web_tools/support/service_helper.rb
|
161
|
+
- lib/web_tools/support/ruby.rb
|
162
|
+
- lib/web_tools/support/code_browser.rb
|
163
|
+
- lib/web_tools/middleware/debugger.rb
|
164
|
+
- lib/web_tools/browser.rb
|
165
|
+
- lib/web_tools.rb
|
166
|
+
- public/images/favicon.ico
|
167
|
+
- public/stylesheets/base/images/ui-bg_flat_0_aaaaaa_40x100.png
|
168
|
+
- public/stylesheets/base/images/ui-icons_cd0a0a_256x240.png
|
169
|
+
- public/stylesheets/base/images/ui-bg_glass_75_e6e6e6_1x400.png
|
170
|
+
- public/stylesheets/base/images/ui-bg_glass_95_fef1ec_1x400.png
|
171
|
+
- public/stylesheets/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
172
|
+
- public/stylesheets/base/images/ui-bg_glass_75_dadada_1x400.png
|
173
|
+
- public/stylesheets/base/images/ui-icons_454545_256x240.png
|
174
|
+
- public/stylesheets/base/images/ui-anim_basic_16x16.gif
|
175
|
+
- public/stylesheets/base/images/ui-icons_888888_256x240.png
|
176
|
+
- public/stylesheets/base/images/ui-icons_2e83ff_256x240.png
|
177
|
+
- public/stylesheets/base/images/ui-bg_flat_75_ffffff_40x100.png
|
178
|
+
- public/stylesheets/base/images/ui-icons_222222_256x240.png
|
179
|
+
- public/stylesheets/base/images/ui-bg_glass_55_fbf9ee_1x400.png
|
180
|
+
- public/stylesheets/base/images/ui-bg_glass_65_ffffff_1x400.png
|
181
|
+
- public/stylesheets/base/jquery.ui.base.css
|
182
|
+
- public/stylesheets/base/jquery.ui.resizable.css
|
183
|
+
- public/stylesheets/base/jquery.ui.core.css
|
184
|
+
- public/stylesheets/base/jquery.ui.selectable.css
|
185
|
+
- public/stylesheets/base/jquery.ui.all.css
|
186
|
+
- public/stylesheets/base/jquery.ui.slider.css
|
187
|
+
- public/stylesheets/base/jquery.ui.autocomplete.css
|
188
|
+
- public/stylesheets/base/jquery.ui.button.css
|
189
|
+
- public/stylesheets/base/jquery.ui.progressbar.css
|
190
|
+
- public/stylesheets/base/jquery.ui.theme.css
|
191
|
+
- public/stylesheets/base/jquery.ui.tabs.css
|
192
|
+
- public/stylesheets/base/jquery.ui.dialog.css
|
193
|
+
- public/stylesheets/base/jquery.ui.accordion.css
|
194
|
+
- public/stylesheets/base/jquery.ui.datepicker.css
|
195
|
+
- public/stylesheets/jquery.contextMenu.css
|
196
|
+
- public/stylesheets/webtools.css
|
197
|
+
- public/stylesheets/reset.css
|
198
|
+
- public/test.html
|
199
|
+
- public/javascript/CodeMirror/css/Smalltalk.css
|
200
|
+
- public/javascript/CodeMirror/js/parsedummy.js
|
201
|
+
- public/javascript/CodeMirror/js/select.js
|
202
|
+
- public/javascript/CodeMirror/js/highlight.js
|
203
|
+
- public/javascript/CodeMirror/js/tokenize.js
|
204
|
+
- public/javascript/CodeMirror/js/codemirror.js
|
205
|
+
- public/javascript/CodeMirror/js/editor.js
|
206
|
+
- public/javascript/CodeMirror/js/undo.js
|
207
|
+
- public/javascript/CodeMirror/js/stringstream.js
|
208
|
+
- public/javascript/CodeMirror/js/parseSmalltalk.js
|
209
|
+
- public/javascript/CodeMirror/js/util.js
|
210
|
+
- public/javascript/CodeMirror/testSmalltalkParser.html
|
211
|
+
- public/javascript/CodeMirror/LICENSE
|
212
|
+
- public/javascript/webtools/debugger.coffee
|
213
|
+
- public/javascript/webtools/version.js
|
214
|
+
- public/javascript/webtools/sessions.coffee
|
215
|
+
- public/javascript/webtools/debugger.js
|
216
|
+
- public/javascript/webtools/sessions.js
|
217
|
+
- public/javascript/webtools/version.coffee
|
218
|
+
- public/javascript/webtools/browser.js
|
219
|
+
- public/javascript/webtools/#debugger.coffee#
|
220
|
+
- public/javascript/ace/mode-java.js
|
221
|
+
- public/javascript/ace/ace.js
|
222
|
+
- public/javascript/ace/mode-lua.js
|
223
|
+
- public/javascript/ace/mode-scss.js
|
224
|
+
- public/javascript/ace/mode-csharp.js
|
225
|
+
- public/javascript/ace/mode-c_cpp.js
|
226
|
+
- public/javascript/ace/theme-monokai.js
|
227
|
+
- public/javascript/ace/theme-cobalt.js
|
228
|
+
- public/javascript/ace/theme-mono_industrial.js
|
229
|
+
- public/javascript/ace/theme-idle_fingers.js
|
230
|
+
- public/javascript/ace/mode-clojure.js
|
231
|
+
- public/javascript/ace/keybinding-vim.js
|
232
|
+
- public/javascript/ace/theme-dawn.js
|
233
|
+
- public/javascript/ace/theme-kr_theme.js
|
234
|
+
- public/javascript/ace/theme-vibrant_ink.js
|
235
|
+
- public/javascript/ace/theme-merbivore_soft.js
|
236
|
+
- public/javascript/ace/mode-scad.js
|
237
|
+
- public/javascript/ace/mode-javascript.js
|
238
|
+
- public/javascript/ace/mode-perl.js
|
239
|
+
- public/javascript/ace/theme-twilight.js
|
240
|
+
- public/javascript/ace/worker-coffee.js
|
241
|
+
- public/javascript/ace/theme-merbivore.js
|
242
|
+
- public/javascript/ace/mode-ocaml.js
|
243
|
+
- public/javascript/ace/mode-json.js
|
244
|
+
- public/javascript/ace/theme-solarized_light.js
|
245
|
+
- public/javascript/ace/mode-ruby.js
|
246
|
+
- public/javascript/ace/theme-pastel_on_dark.js
|
247
|
+
- public/javascript/ace/worker-css.js
|
248
|
+
- public/javascript/ace/ace-uncompressed.js
|
249
|
+
- public/javascript/ace/mode-html.js
|
250
|
+
- public/javascript/ace/mode-textile.js
|
251
|
+
- public/javascript/ace/worker-javascript.js
|
252
|
+
- public/javascript/ace/mode-coffee.js
|
253
|
+
- public/javascript/ace/keybinding-emacs.js
|
254
|
+
- public/javascript/ace/theme-clouds_midnight.js
|
255
|
+
- public/javascript/ace/mode-markdown.js
|
256
|
+
- public/javascript/ace/theme-eclipse.js
|
257
|
+
- public/javascript/ace/theme-clouds.js
|
258
|
+
- public/javascript/ace/mode-svg.js
|
259
|
+
- public/javascript/ace/theme-textmate.js
|
260
|
+
- public/javascript/ace/theme-solarized_dark.js
|
261
|
+
- public/javascript/ace/mode-python.js
|
262
|
+
- public/javascript/ace/mode-scala.js
|
263
|
+
- public/javascript/ace/mode-css.js
|
264
|
+
- public/javascript/ace/mode-groovy.js
|
265
|
+
- public/javascript/ace/mode-php.js
|
266
|
+
- public/javascript/ace/theme-crimson_editor.js
|
267
|
+
- public/javascript/ace/mode-xml.js
|
268
|
+
- views/browser.rhtml
|
269
|
+
- views/index.rhtml
|
270
|
+
- views/version.rhtml
|
271
|
+
- views/debugger.rhtml
|
272
|
+
- views/sessions.rhtml
|
273
|
+
- views/layout.rhtml
|
274
|
+
- LICENSE.txt
|
275
|
+
- README.rdoc
|
276
|
+
- bin/webtools
|
277
|
+
has_rdoc: true
|
278
|
+
homepage: http://github.com/MagLev/webtools
|
279
|
+
licenses:
|
280
|
+
- MIT
|
281
|
+
post_install_message: |
|
282
|
+
NOTE: If you want to run the Sinatra applications, you will have to install sinatra >= 1.2.0.
|
283
|
+
|
284
|
+
It is not part of the default dependencies, so the gem doesn't have to pull in too many dependencies for deployment installations (i.e. recording information about your production system for later analysis).
|
285
|
+
|
286
|
+
rdoc_options: []
|
287
|
+
|
288
|
+
require_paths:
|
289
|
+
- lib
|
290
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
291
|
+
none: false
|
292
|
+
requirements:
|
293
|
+
- - ">="
|
294
|
+
- !ruby/object:Gem::Version
|
295
|
+
hash: 3
|
296
|
+
segments:
|
297
|
+
- 0
|
298
|
+
version: "0"
|
299
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
|
+
none: false
|
301
|
+
requirements:
|
302
|
+
- - ">="
|
303
|
+
- !ruby/object:Gem::Version
|
304
|
+
hash: 3
|
305
|
+
segments:
|
306
|
+
- 0
|
307
|
+
version: "0"
|
308
|
+
requirements: []
|
309
|
+
|
310
|
+
rubyforge_project:
|
311
|
+
rubygems_version: 1.6.2
|
312
|
+
signing_key:
|
313
|
+
specification_version: 3
|
314
|
+
summary: The MagLev WebTools suite
|
315
|
+
test_files: []
|
316
|
+
|