cinatra 0.4.1 → 0.4.2
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/VERSION +1 -1
- data/lib/cinatra.rb +9 -14
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.2
|
data/lib/cinatra.rb
CHANGED
@@ -13,6 +13,8 @@ class Cinatra
|
|
13
13
|
puts "Warning: The command '#{name}' will be overridden."
|
14
14
|
end
|
15
15
|
commands[name] = Command.new(name, desc, &block)
|
16
|
+
rescue Exception => e
|
17
|
+
handle_error(e)
|
16
18
|
end
|
17
19
|
|
18
20
|
def delete_command(name)
|
@@ -38,12 +40,10 @@ class Cinatra
|
|
38
40
|
unless command_name
|
39
41
|
puts "Error: Command not found: #{line}"
|
40
42
|
else
|
41
|
-
|
42
|
-
get_command(command_name).call(command_arg)
|
43
|
-
rescue Exception => e
|
44
|
-
puts "Error: #{e.message}\n #{e.backtrace.join("\n ")}"
|
45
|
-
end
|
43
|
+
get_command(command_name).call(command_arg)
|
46
44
|
end
|
45
|
+
rescue Exception => e
|
46
|
+
handle_error(e)
|
47
47
|
end
|
48
48
|
|
49
49
|
def completion(text)
|
@@ -51,15 +51,6 @@ class Cinatra
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def start
|
54
|
-
stty_save = `stty -g`.chomp
|
55
|
-
trap("INT") do
|
56
|
-
begin
|
57
|
-
system "stty", stty_save
|
58
|
-
ensure
|
59
|
-
exit
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
54
|
Readline.basic_word_break_characters= "\t\n\"\\'`><=;|&{("
|
64
55
|
Readline.completion_proc = lambda {|text| completion(text) }
|
65
56
|
|
@@ -72,6 +63,10 @@ class Cinatra
|
|
72
63
|
self.exiting = true
|
73
64
|
end
|
74
65
|
|
66
|
+
def handle_error(e)
|
67
|
+
puts "Error: #{e.message}\n #{e.backtrace.join("\n ")}"
|
68
|
+
end
|
69
|
+
|
75
70
|
def resolve_command_name_and_arg(line)
|
76
71
|
command_names.map {|i| i.split(' ')}.sort_by{|i| i.size}.reverse_each do |command|
|
77
72
|
if is_command_match_to_line?(command, line)
|