rack-debug 1.3.1 → 1.4.1
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.rdoc +9 -3
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/lib/rack-debug/debugger.rb +12 -4
- data/lib/rack-debug/tasks.rb +1 -1
- data/lib/rack/debug.rb +10 -6
- data/rack-debug.gemspec +6 -8
- metadata +5 -6
- data/init.rb +0 -0
- data/tasks/rack-debug.rake +0 -1
data/README.rdoc
CHANGED
@@ -13,9 +13,6 @@ Rails
|
|
13
13
|
|
14
14
|
Middleware
|
15
15
|
|
16
|
-
# install
|
17
|
-
$ gem install ddollar-rack-debug
|
18
|
-
|
19
16
|
# add a use line to your builder
|
20
17
|
require 'rack/debug'
|
21
18
|
Rack::Builder.new do
|
@@ -23,6 +20,12 @@ Middleware
|
|
23
20
|
run MyApp.new
|
24
21
|
end
|
25
22
|
|
23
|
+
# can optionally specify where to put the sockets
|
24
|
+
use Rack::Debug, :socket_path => '/tmp/rack-debug'
|
25
|
+
|
26
|
+
# Rakefile
|
27
|
+
require 'rack-debug/tasks'
|
28
|
+
|
26
29
|
Add breakpoints to your code
|
27
30
|
|
28
31
|
@user = User.find(params[:id])
|
@@ -39,6 +42,9 @@ Debugging:
|
|
39
42
|
(rdb:1) p @user
|
40
43
|
#<User id: 1, name: "David Dollar", email: "ddollar@gmail.com", created_at: "...", updated_at: "...">
|
41
44
|
|
45
|
+
# can specify the socket path
|
46
|
+
SOCKET_PATH=/tmp/rack-debug rake debug
|
47
|
+
|
42
48
|
Thanks to:
|
43
49
|
|
44
50
|
Rack::Bug for a good example of Rack middleware in Rails
|
data/Rakefile
CHANGED
@@ -5,16 +5,16 @@ begin
|
|
5
5
|
require 'jeweler'
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
7
|
gem.name = "rack-debug"
|
8
|
-
gem.summary = %Q{Rack::Debug adds a
|
8
|
+
gem.summary = %Q{Rack::Debug adds a middleware interface to ruby-debug}
|
9
9
|
gem.description = <<-DESCRIPTION
|
10
10
|
|
11
|
-
Rack::Debug adds a middlerware interface to ruby-debug
|
11
|
+
Rack::Debug adds a middlerware interface to ruby-debug
|
12
12
|
http://github.com/github/rack-debug
|
13
13
|
|
14
14
|
DESCRIPTION
|
15
15
|
gem.email = "<ddollar@gmail.com>"
|
16
16
|
gem.homepage = "http://github.com/ddollar/rack-debug"
|
17
|
-
gem.authors = ["David Dollar"]
|
17
|
+
gem.authors = ["David Dollar", "Bart Teeuwisse"]
|
18
18
|
|
19
19
|
gem.add_dependency 'rack', '>= 1.0'
|
20
20
|
gem.add_dependency 'ruby-debug', '>= 0.10'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.4.1
|
data/lib/rack-debug/debugger.rb
CHANGED
@@ -4,13 +4,16 @@ require 'thread'
|
|
4
4
|
require 'fileutils'
|
5
5
|
|
6
6
|
module Debugger
|
7
|
-
|
7
|
+
|
8
|
+
DEFAULT_SOCKET_PATH = File.join(Dir.getwd, 'tmp', 'sockets', 'debugger')
|
8
9
|
|
9
10
|
class << self
|
10
|
-
def start_unix_socket_remote(socket_path
|
11
|
+
def start_unix_socket_remote(socket_path, post_mortem = false)
|
11
12
|
return if @thread
|
12
13
|
return if started?
|
13
14
|
|
15
|
+
socket_path ||= DEFAULT_SOCKET_PATH
|
16
|
+
|
14
17
|
self.interface = nil
|
15
18
|
start
|
16
19
|
self.post_mortem if post_mortem
|
@@ -47,9 +50,12 @@ module Debugger
|
|
47
50
|
end
|
48
51
|
alias_method :start_unix_socket_server, :start_unix_socket_remote
|
49
52
|
|
50
|
-
def start_unix_socket_control(socket_path
|
53
|
+
def start_unix_socket_control(socket_path) # :nodoc:
|
51
54
|
raise "Debugger is not started" unless started?
|
52
55
|
return if defined?(@control_thread) && @control_thread
|
56
|
+
|
57
|
+
socket_path ||= DEFAULT_SOCKET_PATH
|
58
|
+
|
53
59
|
File.unlink(socket_path) if File.exists?(socket_path)
|
54
60
|
@control_thread = DebugThread.new do
|
55
61
|
server = UNIXServer.open(socket_path)
|
@@ -61,7 +67,9 @@ module Debugger
|
|
61
67
|
end
|
62
68
|
end
|
63
69
|
|
64
|
-
def start_unix_socket_client(socket_path
|
70
|
+
def start_unix_socket_client(socket_path)
|
71
|
+
socket_path ||= DEFAULT_SOCKET_PATH
|
72
|
+
|
65
73
|
require "socket"
|
66
74
|
interface = Debugger::LocalInterface.new
|
67
75
|
socket = UNIXSocket.new(socket_path + '.server')
|
data/lib/rack-debug/tasks.rb
CHANGED
@@ -8,7 +8,7 @@ task :debug do
|
|
8
8
|
require File.join(File.dirname(__FILE__), 'debugger')
|
9
9
|
|
10
10
|
begin
|
11
|
-
Debugger.start_unix_socket_client
|
11
|
+
Debugger.start_unix_socket_client ENV['SOCKET_PATH']
|
12
12
|
rescue Errno::ENOENT
|
13
13
|
puts "Server is not running or Passenger has spooled down"
|
14
14
|
rescue StandardError => ex
|
data/lib/rack/debug.rb
CHANGED
@@ -2,25 +2,29 @@ require 'rack'
|
|
2
2
|
|
3
3
|
class Rack::Debug
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
attr_reader :app
|
5
|
+
attr_reader :app, :options
|
8
6
|
|
9
7
|
def initialize(app, options={})
|
8
|
+
@app = app
|
9
|
+
@options = options
|
10
|
+
|
10
11
|
extend_ruby_debug!
|
11
|
-
@app = app
|
12
12
|
end
|
13
13
|
|
14
14
|
def call(env)
|
15
15
|
LineCache::clear_file_cache
|
16
|
-
Debugger.start_unix_socket_remote
|
16
|
+
Debugger.start_unix_socket_remote(socket_path)
|
17
17
|
app.call(env)
|
18
18
|
end
|
19
19
|
|
20
20
|
private ######################################################################
|
21
21
|
|
22
22
|
def extend_ruby_debug!
|
23
|
-
require File.join(File.dirname(__FILE__), '..', '
|
23
|
+
require File.join(File.dirname(__FILE__), '..', 'rack-debug', 'debugger')
|
24
|
+
end
|
25
|
+
|
26
|
+
def socket_path
|
27
|
+
options[:socket_path]
|
24
28
|
end
|
25
29
|
|
26
30
|
end
|
data/rack-debug.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rack-debug}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.4.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["David Dollar"]
|
12
|
-
s.date = %q{2009-
|
11
|
+
s.authors = ["David Dollar", "Bart Teeuwisse"]
|
12
|
+
s.date = %q{2009-11-05}
|
13
13
|
s.description = %q{
|
14
|
-
Rack::Debug adds a middlerware interface to ruby-debug
|
14
|
+
Rack::Debug adds a middlerware interface to ruby-debug
|
15
15
|
http://github.com/github/rack-debug
|
16
16
|
|
17
17
|
}
|
@@ -24,19 +24,17 @@ http://github.com/github/rack-debug
|
|
24
24
|
"README.rdoc",
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
|
-
"init.rb",
|
28
27
|
"lib/rack-debug.rb",
|
29
28
|
"lib/rack-debug/debugger.rb",
|
30
29
|
"lib/rack-debug/tasks.rb",
|
31
30
|
"lib/rack/debug.rb",
|
32
|
-
"rack-debug.gemspec"
|
33
|
-
"tasks/rack-debug.rake"
|
31
|
+
"rack-debug.gemspec"
|
34
32
|
]
|
35
33
|
s.homepage = %q{http://github.com/ddollar/rack-debug}
|
36
34
|
s.rdoc_options = ["--charset=UTF-8"]
|
37
35
|
s.require_paths = ["lib"]
|
38
36
|
s.rubygems_version = %q{1.3.5}
|
39
|
-
s.summary = %q{Rack::Debug adds a
|
37
|
+
s.summary = %q{Rack::Debug adds a middleware interface to ruby-debug}
|
40
38
|
|
41
39
|
if s.respond_to? :specification_version then
|
42
40
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-debug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Dollar
|
8
|
+
- Bart Teeuwisse
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
|
12
|
-
date: 2009-
|
13
|
+
date: 2009-11-05 00:00:00 -05:00
|
13
14
|
default_executable:
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
@@ -34,7 +35,7 @@ dependencies:
|
|
34
35
|
version:
|
35
36
|
description: |+
|
36
37
|
|
37
|
-
Rack::Debug adds a middlerware interface to ruby-debug
|
38
|
+
Rack::Debug adds a middlerware interface to ruby-debug
|
38
39
|
http://github.com/github/rack-debug
|
39
40
|
|
40
41
|
email: <ddollar@gmail.com>
|
@@ -49,13 +50,11 @@ files:
|
|
49
50
|
- README.rdoc
|
50
51
|
- Rakefile
|
51
52
|
- VERSION
|
52
|
-
- init.rb
|
53
53
|
- lib/rack-debug.rb
|
54
54
|
- lib/rack-debug/debugger.rb
|
55
55
|
- lib/rack-debug/tasks.rb
|
56
56
|
- lib/rack/debug.rb
|
57
57
|
- rack-debug.gemspec
|
58
|
-
- tasks/rack-debug.rake
|
59
58
|
has_rdoc: true
|
60
59
|
homepage: http://github.com/ddollar/rack-debug
|
61
60
|
licenses: []
|
@@ -83,6 +82,6 @@ rubyforge_project:
|
|
83
82
|
rubygems_version: 1.3.5
|
84
83
|
signing_key:
|
85
84
|
specification_version: 3
|
86
|
-
summary: Rack::Debug adds a
|
85
|
+
summary: Rack::Debug adds a middleware interface to ruby-debug
|
87
86
|
test_files: []
|
88
87
|
|
data/init.rb
DELETED
File without changes
|
data/tasks/rack-debug.rake
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'rack-debug/tasks'
|