spinal_tap 0.1.2 → 0.1.3
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/README.md +6 -2
- data/lib/spinal_tap/client_helpers.rb +16 -2
- data/lib/spinal_tap/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -25,7 +25,11 @@ Start spinal at the beginning of your long running process:
|
|
25
25
|
|
26
26
|
By default it will listen for TCP connections on 127.0.0.1:9000.
|
27
27
|
You can then telnet into your process and type 'help' to view the default list of commands.
|
28
|
-
|
28
|
+
Currently, 'eval' is the main command you will use.
|
29
|
+
For example, you can execute code such as 'eval 5 + 5' and it will return 10.
|
30
|
+
The command set is limited, but in the future I will make it easy to add your own commands.
|
31
|
+
For now you'll have to make your own helper class and execute them via 'eval'.
|
32
|
+
Spinal Tap uses threads to run in the background of your process, but aware that you have full access to your processes's memory via 'eval'.
|
29
33
|
|
30
34
|
SpinalTap.start accepts the following options:
|
31
35
|
|
@@ -40,7 +44,7 @@ You can stop the spinal tap server at any time:
|
|
40
44
|
|
41
45
|
With great power comes great responsibility.
|
42
46
|
Currently no authentication exists so anyone who can connect to Spinal Tap has complete control over your process.
|
43
|
-
This includes changing memory, reloading classes, killing the process, and pretty much any other nasty thing you can with Ruby's 'eval' method.
|
47
|
+
This includes changing memory, reloading classes, killing the process, and pretty much any other nasty thing you can do with Ruby's 'eval' method.
|
44
48
|
Use at your own risk! You have been warned!
|
45
49
|
|
46
50
|
# Contributing to Spinal Tap:
|
@@ -57,6 +57,8 @@ module SpinalTap
|
|
57
57
|
if @buffer.length > 0 && @cursor_pos > 1
|
58
58
|
@cursor_pos -= 1
|
59
59
|
@buffer.slice!(@cursor_pos - 1)
|
60
|
+
else
|
61
|
+
bell
|
60
62
|
end
|
61
63
|
|
62
64
|
# Null Char.
|
@@ -72,20 +74,28 @@ module SpinalTap
|
|
72
74
|
@history_pos -= 1
|
73
75
|
@buffer = @history[@history_pos].to_s
|
74
76
|
@cursor_pos = @buffer.length + 1
|
77
|
+
else
|
78
|
+
bell
|
75
79
|
end
|
76
80
|
when 66 # B Char - Down Arrow.
|
77
81
|
if @history_pos < @history.length
|
78
82
|
@history_pos += 1
|
79
83
|
@buffer = @history[@history_pos].to_s
|
80
84
|
@cursor_pos = @buffer.length + 1
|
85
|
+
else
|
86
|
+
bell
|
81
87
|
end
|
82
88
|
when 67 # C Char - Right Arrow.
|
83
|
-
if @cursor_pos < @buffer.length
|
89
|
+
if @cursor_pos < @buffer.length + 1
|
84
90
|
@cursor_pos += 1
|
91
|
+
else
|
92
|
+
bell
|
85
93
|
end
|
86
94
|
when 68 # D Char - Left Arrow.
|
87
|
-
if @cursor_pos > 0
|
95
|
+
if @cursor_pos > 0 + 1
|
88
96
|
@cursor_pos -= 1
|
97
|
+
else
|
98
|
+
bell
|
89
99
|
end
|
90
100
|
end
|
91
101
|
end
|
@@ -118,6 +128,10 @@ module SpinalTap
|
|
118
128
|
end
|
119
129
|
end
|
120
130
|
|
131
|
+
def bell
|
132
|
+
write([7].pack('C'))
|
133
|
+
end
|
134
|
+
|
121
135
|
def redraw_cmd_line
|
122
136
|
write("\e[2K\r>\e[s #{@buffer}\e[u\e[#{@cursor_pos}C")
|
123
137
|
end
|
data/lib/spinal_tap/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spinal_tap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -140,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
140
|
version: '0'
|
141
141
|
segments:
|
142
142
|
- 0
|
143
|
-
hash:
|
143
|
+
hash: -1111823406379054715
|
144
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
145
|
none: false
|
146
146
|
requirements:
|
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
149
|
version: '0'
|
150
150
|
segments:
|
151
151
|
- 0
|
152
|
-
hash:
|
152
|
+
hash: -1111823406379054715
|
153
153
|
requirements: []
|
154
154
|
rubyforge_project:
|
155
155
|
rubygems_version: 1.8.23
|