ruined 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +8 -0
- data/lib/ruined/html/index.html +1 -1
- data/lib/ruined/html/main.html +29 -6
- data/lib/ruined/ruinmain.rb +32 -14
- data/readme.txt +6 -1
- metadata +4 -4
data/ChangeLog
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
Tue Oct 12 00:17:00 2010 arton
|
2
|
+
* BSDL
|
3
|
+
* readme.txt
|
4
|
+
license changed to dual (BSDL or (GPLv3 or later))
|
5
|
+
* ruined/html/main.html
|
6
|
+
support variable modification
|
7
|
+
* ruined/ruinmain.rb
|
8
|
+
support variable modification
|
1
9
|
Mon Oct 11 21:25:00 2010 arton
|
2
10
|
* lib/ruined/ruinmain.rb
|
3
11
|
fix local vairable confliction with 'v'
|
data/lib/ruined/html/index.html
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<html> <head>
|
3
3
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
4
4
|
<meta http-equiv="content-style-type" content="text/css"/>
|
5
|
-
<title>Ruby
|
5
|
+
<title>Ruby visual debugger</title>
|
6
6
|
</head>
|
7
7
|
<frameset border="0" frameborder="0" framespacing="0" rows="50,*">
|
8
8
|
<frame id="header" noresize scrolling="no" src="header.html" marginheight="0">
|
data/lib/ruined/html/main.html
CHANGED
@@ -96,6 +96,11 @@ function stepProc(command) {
|
|
96
96
|
stopRun();
|
97
97
|
if (data['event'] == 'exit') {
|
98
98
|
$('button').button('disable');
|
99
|
+
$('#vars').tabs({
|
100
|
+
show: function(envet, ui) {
|
101
|
+
alert('program terminated');
|
102
|
+
}
|
103
|
+
});
|
99
104
|
alert('program exit');
|
100
105
|
}
|
101
106
|
}
|
@@ -129,6 +134,29 @@ $(document).ready(function() {
|
|
129
134
|
$('#vars').tabs({
|
130
135
|
show: function(envet, ui) {
|
131
136
|
$('#vars').tabs('load', $('#vars').tabs('option', 'selected'));
|
137
|
+
},
|
138
|
+
load: function(event, ui) {
|
139
|
+
$('.var-value').dblclick(function(e) {
|
140
|
+
var v = e.currentTarget.innerHTML;
|
141
|
+
e.currentTarget.innerHTML = '<input type="text" value="' + v + '"/>';
|
142
|
+
setTimeout(function() {
|
143
|
+
e.currentTarget.childNodes.item(0).focus();
|
144
|
+
$(e.currentTarget.childNodes.item(0)).focusout(function(ev) {
|
145
|
+
var loc = 'locals/';
|
146
|
+
if ($('#vars').tabs('option', 'selected') == 1) {
|
147
|
+
loc = 'self/';
|
148
|
+
} else if ($('#vars').tabs('option', 'selected') == 2) {
|
149
|
+
loc = 'globals/';
|
150
|
+
}
|
151
|
+
var url = '/debug/' + loc + e.currentTarget.previousSibling.innerHTML
|
152
|
+
+ '/' + ev.currentTarget.value;
|
153
|
+
e.currentTarget.innerHTML = ev.currentTarget.value;
|
154
|
+
$.get(url, function() {
|
155
|
+
$('#vars').tabs('load', $('#vars').tabs('option', 'selected'));
|
156
|
+
});
|
157
|
+
});
|
158
|
+
}, 0);
|
159
|
+
});
|
132
160
|
}
|
133
161
|
});
|
134
162
|
$('#intval').slider();
|
@@ -156,11 +184,6 @@ $(document).ready(function() {
|
|
156
184
|
if (contTimer != null) {
|
157
185
|
stopRun();
|
158
186
|
}
|
159
|
-
$('#vars').tabs({
|
160
|
-
show: function(envet, ui) {
|
161
|
-
alert('program terminated');
|
162
|
-
}
|
163
|
-
});
|
164
187
|
});
|
165
188
|
stepProc('stepping');
|
166
189
|
});
|
@@ -202,6 +225,6 @@ $(document).ready(function() {
|
|
202
225
|
<hr>
|
203
226
|
<div id="waiting"></div>
|
204
227
|
<address id="ruby-platform"></address>
|
205
|
-
<!-- hhmts start --> Last modified:
|
228
|
+
<!-- hhmts start --> Last modified: Wed Oct 13 00:12:03 +0900 2010 <!-- hhmts end -->
|
206
229
|
</div>
|
207
230
|
</body> </html>
|
data/lib/ruined/ruinmain.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/local/bin/ruby
|
1
|
+
#!/usr/local/bin/ruby
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
require 'webrick'
|
@@ -8,7 +8,7 @@ require 'monitor'
|
|
8
8
|
require 'stringio'
|
9
9
|
|
10
10
|
module Ruined
|
11
|
-
RUINED_VERSION = '0.0.
|
11
|
+
RUINED_VERSION = '0.0.4'
|
12
12
|
|
13
13
|
@queue = [Queue.new, Queue.new]
|
14
14
|
@breakpoints = []
|
@@ -87,27 +87,33 @@ module Ruined
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def locals(*a)
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
if a.size == 0
|
91
|
+
create_varlist Ruined.local_vars
|
92
|
+
elsif a.size != 2
|
93
|
+
bye(response)
|
94
|
+
else
|
95
|
+
Ruined.set(a[0], a[1]).to_s
|
93
96
|
end
|
94
|
-
s + '</table>'
|
95
97
|
end
|
96
98
|
|
97
99
|
def globals(*a)
|
98
|
-
|
99
|
-
|
100
|
-
|
100
|
+
if a.size == 0
|
101
|
+
create_varlist Ruined.global_vars
|
102
|
+
elsif a.size != 2
|
103
|
+
bye(response)
|
104
|
+
else
|
105
|
+
Ruined.set(a[0], a[1]).to_s
|
101
106
|
end
|
102
|
-
s + '</table>'
|
103
107
|
end
|
104
108
|
|
105
109
|
def self(*a)
|
106
|
-
|
107
|
-
|
108
|
-
|
110
|
+
if a.size == 0
|
111
|
+
create_varlist Ruined.self_vars
|
112
|
+
elsif a.size != 2
|
113
|
+
bye(response)
|
114
|
+
else
|
115
|
+
Ruined.set(a[0], a[1]).to_s
|
109
116
|
end
|
110
|
-
s + '</table>'
|
111
117
|
end
|
112
118
|
|
113
119
|
def start(*a)
|
@@ -116,6 +122,14 @@ module Ruined
|
|
116
122
|
|
117
123
|
private
|
118
124
|
|
125
|
+
def create_varlist(t)
|
126
|
+
s = '<table class="vars"><tr><th>Name</th><th>Value</th></tr>'
|
127
|
+
t.each do |e|
|
128
|
+
s << "<tr><td>#{e[:name]}</td><td class=\"var-value\">#{escape(e[:value].inspect)}</td></tr>"
|
129
|
+
end
|
130
|
+
s + '</table>'
|
131
|
+
end
|
132
|
+
|
119
133
|
def bye(res)
|
120
134
|
res.status = 404
|
121
135
|
res.body = '<html>bye</html>'
|
@@ -171,6 +185,10 @@ EOD
|
|
171
185
|
a
|
172
186
|
end
|
173
187
|
|
188
|
+
def self.set(var, val)
|
189
|
+
eval("#{var} = #{val}", @current_binding)
|
190
|
+
end
|
191
|
+
|
174
192
|
def self.tls_vars
|
175
193
|
@@tlses
|
176
194
|
end
|
data/readme.txt
CHANGED
@@ -13,6 +13,11 @@ features:
|
|
13
13
|
- global variables viewer
|
14
14
|
- self's instance variables viewer
|
15
15
|
- stdout viewer
|
16
|
+
- change variable's value
|
17
|
+
|
18
|
+
todo:
|
19
|
+
- more inspection
|
20
|
+
- editing source and save
|
16
21
|
|
17
22
|
usage:
|
18
23
|
|
@@ -21,7 +26,7 @@ cf)
|
|
21
26
|
ruby -ruined target.rb [ target's options ...]
|
22
27
|
|
23
28
|
licence:
|
24
|
-
GPL3
|
29
|
+
Simplified BSDL or (GPL3 or any later version)
|
25
30
|
|
26
31
|
others:
|
27
32
|
jQuery (bundled)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruined
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- arton
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-13 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|