tconsole 0.0.4.pre → 1.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/tconsole/server.rb +7 -0
- data/lib/tconsole/version.rb +1 -1
- data/lib/tconsole.rb +44 -5
- metadata +2 -2
data/lib/tconsole/server.rb
CHANGED
@@ -126,5 +126,12 @@ module TConsole
|
|
126
126
|
message = "Running #{files.length} #{files.length == 1 ? "test file" : "test files"} based on uncommitted changes..."
|
127
127
|
run_tests(files, test_pattern, message)
|
128
128
|
end
|
129
|
+
|
130
|
+
def run_info
|
131
|
+
puts "Defined Constants:"
|
132
|
+
puts Module.constants.sort.join("\n")
|
133
|
+
puts
|
134
|
+
puts
|
135
|
+
end
|
129
136
|
end
|
130
137
|
end
|
data/lib/tconsole/version.rb
CHANGED
data/lib/tconsole.rb
CHANGED
@@ -21,6 +21,9 @@ module TConsole
|
|
21
21
|
puts
|
22
22
|
puts "Welcome to tconsole. Type 'help' for help or 'exit' to quit."
|
23
23
|
|
24
|
+
# Set up our console input handling and history
|
25
|
+
console = Console.new
|
26
|
+
|
24
27
|
# Start the server
|
25
28
|
while running
|
26
29
|
# ignore ctrl-c during load, since things can get kind of messy if we don't
|
@@ -60,18 +63,28 @@ module TConsole
|
|
60
63
|
exit(1)
|
61
64
|
end
|
62
65
|
|
63
|
-
running =
|
66
|
+
running = console.read_and_execute(server) if running
|
64
67
|
|
65
68
|
server.stop
|
66
69
|
Process.waitall
|
67
70
|
end
|
68
71
|
|
72
|
+
console.store_history
|
73
|
+
|
69
74
|
puts
|
70
75
|
puts "Exiting. Bye!"
|
71
76
|
system("stty", stty_save);
|
72
77
|
end
|
78
|
+
end
|
73
79
|
|
74
|
-
|
80
|
+
class Console
|
81
|
+
|
82
|
+
def initialize
|
83
|
+
read_history
|
84
|
+
end
|
85
|
+
|
86
|
+
# Returns true if the app should keep running, false otherwise
|
87
|
+
def read_and_execute(server)
|
75
88
|
while line = Readline.readline("tconsole> ", true)
|
76
89
|
line.strip!
|
77
90
|
args = line.split(/\s/)
|
@@ -83,7 +96,7 @@ module TConsole
|
|
83
96
|
elsif args[0] == "reload"
|
84
97
|
return true
|
85
98
|
elsif args[0] == "help"
|
86
|
-
|
99
|
+
print_help
|
87
100
|
elsif args[0] == "units"
|
88
101
|
server.run_tests(["test/unit/**/*_test.rb"], args[1])
|
89
102
|
elsif args[0] == "functionals"
|
@@ -96,16 +109,18 @@ module TConsole
|
|
96
109
|
server.run_uncommitted(args[1])
|
97
110
|
elsif args[0] == "all"
|
98
111
|
server.run_tests(["test/unit/**/*_test.rb", "test/functional/**/*_test.rb", "test/integration/**/*_test.rb"], args[1])
|
112
|
+
elsif args[0] == "info"
|
113
|
+
server.run_info
|
99
114
|
else
|
100
115
|
server.run_tests([args[0]], args[1])
|
101
116
|
end
|
102
117
|
end
|
103
118
|
|
104
|
-
|
119
|
+
true
|
105
120
|
end
|
106
121
|
|
107
122
|
# Prints a list of available commands
|
108
|
-
def
|
123
|
+
def print_help
|
109
124
|
puts
|
110
125
|
puts "Available commands:"
|
111
126
|
puts
|
@@ -128,5 +143,29 @@ module TConsole
|
|
128
143
|
puts "test."
|
129
144
|
puts
|
130
145
|
end
|
146
|
+
|
147
|
+
def history_file
|
148
|
+
File.join(ENV['HOME'], ".tconsole_history")
|
149
|
+
end
|
150
|
+
|
151
|
+
# Stores last 50 items in history to $HOME/.tconsole_history
|
152
|
+
def store_history
|
153
|
+
if ENV['HOME']
|
154
|
+
File.open(history_file, "w") do |f|
|
155
|
+
Readline::HISTORY.to_a[0..49].each do |item|
|
156
|
+
f.puts(item)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
# Loads history from past sessions
|
163
|
+
def read_history
|
164
|
+
if ENV['HOME'] && File.exist?(history_file)
|
165
|
+
File.readlines(history_file).each do |line|
|
166
|
+
Readline::HISTORY.push(line)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
131
170
|
end
|
132
171
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tconsole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 1.0.0.pre
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-30 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: tconsole gives you a helpful console for running Rails tests
|
15
15
|
email:
|