pry-exception_explorer 0.1.8 → 0.1.9
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/Rakefile +2 -10
- data/bin/pry-shim +20 -0
- data/examples/example_c_inline.rb +1 -2
- data/lib/pry-exception_explorer/cli.rb +2 -19
- data/lib/pry-exception_explorer/shim_builder.rb +8 -2
- data/lib/pry-exception_explorer/version.rb +1 -1
- data/pry-exception_explorer.gemspec +4 -3
- metadata +11 -9
data/Rakefile
CHANGED
@@ -26,6 +26,7 @@ def apply_spec_defaults(s)
|
|
26
26
|
s.add_dependency('pry-stack_explorer', ">=0.3.9")
|
27
27
|
s.add_development_dependency("bacon","~>1.1.0")
|
28
28
|
s.add_development_dependency('rake', '~> 0.9')
|
29
|
+
s.executables = ['pry-shim']
|
29
30
|
|
30
31
|
s.files = `git ls-files`.split("\n")
|
31
32
|
s.test_files = `git ls-files -- test/*`.split("\n")
|
@@ -55,16 +56,7 @@ end
|
|
55
56
|
|
56
57
|
desc "Run example C inline"
|
57
58
|
task :example_c_inline do
|
58
|
-
|
59
|
-
binary_name = "lib_overrides.#{PryExceptionExplorer::ShimBuilder::Dyname}"
|
60
|
-
if RUBY_PLATFORM =~ /darwin/
|
61
|
-
ENV['DYLD_FORCE_FLAT_NAMESPACE'] = "1"
|
62
|
-
ENV['DYLD_INSERT_LIBRARIES'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
63
|
-
else
|
64
|
-
ENV['LD_PRELOAD'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
65
|
-
end
|
66
|
-
|
67
|
-
sh "ruby -I#{direc}/lib/ #{direc}/examples/example_c_inline.rb "
|
59
|
+
sh "pry-shim ruby -I#{direc}/lib/ #{direc}/examples/example_c_inline.rb "
|
68
60
|
end
|
69
61
|
|
70
62
|
task :default => :test
|
data/bin/pry-shim
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'pry'
|
2
|
+
require 'pry-exception_explorer'
|
3
|
+
require 'pry-exception_explorer/shim_builder'
|
4
|
+
|
5
|
+
binary_name = "lib_overrides.#{PryExceptionExplorer::ShimBuilder::Dyname}"
|
6
|
+
|
7
|
+
if !File.exists? File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
8
|
+
puts "First run, building shim"
|
9
|
+
PryExceptionExplorer::ShimBuilder.compile
|
10
|
+
puts "Hopefully built...!"
|
11
|
+
end
|
12
|
+
|
13
|
+
if RUBY_PLATFORM =~ /darwin/
|
14
|
+
ENV['DYLD_FORCE_FLAT_NAMESPACE'] = "1"
|
15
|
+
ENV['DYLD_INSERT_LIBRARIES'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
16
|
+
else
|
17
|
+
ENV['LD_PRELOAD'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
18
|
+
end
|
19
|
+
|
20
|
+
exec(*ARGV)
|
@@ -6,7 +6,6 @@ end
|
|
6
6
|
require 'pry-exception_explorer'
|
7
7
|
|
8
8
|
PryExceptionExplorer.enabled = true
|
9
|
-
PryExceptionExplorer.intercept(NameError)
|
10
9
|
|
11
10
|
def alpha
|
12
11
|
name = "john"
|
@@ -21,7 +20,7 @@ def beta
|
|
21
20
|
end
|
22
21
|
|
23
22
|
def gamma
|
24
|
-
|
23
|
+
1/0
|
25
24
|
end
|
26
25
|
|
27
26
|
alpha
|
@@ -3,30 +3,13 @@ Pry::CLI.add_options do
|
|
3
3
|
on :w, :wrap, "Run the provided FILE wrapped by the exception explorer", true do |file|
|
4
4
|
require 'pry-exception_explorer'
|
5
5
|
PryExceptionExplorer.wrap do
|
6
|
-
|
6
|
+
load file
|
7
7
|
end
|
8
8
|
|
9
9
|
exit
|
10
10
|
end
|
11
11
|
|
12
12
|
on "c-exceptions", "Experimental hook for C exceptions" do
|
13
|
-
|
14
|
-
|
15
|
-
binary_name = "lib_overrides.#{PryExceptionExplorer::ShimBuilder::Dyname}"
|
16
|
-
|
17
|
-
if !File.exists? File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
18
|
-
puts "First run, building shim"
|
19
|
-
PryExceptionExplorer::ShimBuilder.compile
|
20
|
-
puts "Hopefully built...!"
|
21
|
-
end
|
22
|
-
|
23
|
-
if RUBY_PLATFORM =~ /darwin/
|
24
|
-
ENV['DYLD_FORCE_FLAT_NAMESPACE'] = "1"
|
25
|
-
ENV['DYLD_INSERT_LIBRARIES'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
26
|
-
else
|
27
|
-
ENV['LD_PRELOAD'] = File.join PryExceptionExplorer::ShimBuilder.dir, binary_name
|
28
|
-
end
|
29
|
-
|
30
|
-
exec("pry #{(ARGV - ["--c-exceptions"]).join(' ')}")
|
13
|
+
exec("pry-shim pry --no-pager #{(ARGV - ["--c-exceptions"]).join(' ')}")
|
31
14
|
end
|
32
15
|
end
|
@@ -26,9 +26,15 @@ module PryExceptionExplorer
|
|
26
26
|
#include <ruby.h>
|
27
27
|
|
28
28
|
void
|
29
|
-
rb_raise(
|
29
|
+
rb_raise(VALUE exc, const char *fmt, ...)
|
30
30
|
{
|
31
|
-
|
31
|
+
va_list args;
|
32
|
+
VALUE mesg;
|
33
|
+
|
34
|
+
va_start(args, fmt);
|
35
|
+
mesg = rb_vsprintf(fmt, args);
|
36
|
+
va_end(args);
|
37
|
+
rb_funcall(rb_cObject, rb_intern("raise"), 2, exc, mesg);
|
32
38
|
}
|
33
39
|
|
34
40
|
void
|
@@ -2,14 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "pry-exception_explorer"
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.9"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["John Mair (banisterfiend)"]
|
9
|
-
s.date = "2012-02-
|
9
|
+
s.date = "2012-02-21"
|
10
10
|
s.description = "Enter the context of exceptions"
|
11
11
|
s.email = "jrmair@gmail.com"
|
12
|
-
s.
|
12
|
+
s.executables = ["pry-shim"]
|
13
|
+
s.files = [".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "Gemfile", "LICENSE", "README.md", "Rakefile", "bin/pry-shim", "examples/example_c_inline.rb", "examples/example_inline.rb", "examples/example_wrap.rb", "lib/pry-exception_explorer.rb", "lib/pry-exception_explorer/cli.rb", "lib/pry-exception_explorer/commands.rb", "lib/pry-exception_explorer/core_ext.rb", "lib/pry-exception_explorer/intercept.rb", "lib/pry-exception_explorer/lazy_frame.rb", "lib/pry-exception_explorer/shim_builder.rb", "lib/pry-exception_explorer/version.rb", "pry-exception_explorer.gemspec", "test/helper.rb", "test/test_exceptions_in_pry.rb", "test/test_inline_exceptions.rb", "test/test_raise.rb", "test/test_wrapped_exceptions.rb"]
|
13
14
|
s.homepage = "https://github.com/banister/pry-exception_explorer"
|
14
15
|
s.require_paths = ["lib"]
|
15
16
|
s.rubygems_version = "1.8.16"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-exception_explorer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry-stack_explorer
|
16
|
-
requirement: &
|
16
|
+
requirement: &70215207746240 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.3.9
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70215207746240
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bacon
|
27
|
-
requirement: &
|
27
|
+
requirement: &70215207745780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.1.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70215207745780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70215207745320 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,11 @@ dependencies:
|
|
43
43
|
version: '0.9'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70215207745320
|
47
47
|
description: Enter the context of exceptions
|
48
48
|
email: jrmair@gmail.com
|
49
|
-
executables:
|
49
|
+
executables:
|
50
|
+
- pry-shim
|
50
51
|
extensions: []
|
51
52
|
extra_rdoc_files: []
|
52
53
|
files:
|
@@ -59,6 +60,7 @@ files:
|
|
59
60
|
- LICENSE
|
60
61
|
- README.md
|
61
62
|
- Rakefile
|
63
|
+
- bin/pry-shim
|
62
64
|
- examples/example_c_inline.rb
|
63
65
|
- examples/example_inline.rb
|
64
66
|
- examples/example_wrap.rb
|