pry-rescue 0.14 → 0.15

Sign up to get free protection for your applications and to get access to all the features.
data/lib/pry-rescue.rb CHANGED
@@ -104,6 +104,8 @@ class PryRescue
104
104
  # @param [String] file the absolute path
105
105
  # @return [Boolean]
106
106
  def user_path?(file)
107
+ return false if file.match(%r(/vendor/))
108
+ return true if file.match(Dir.pwd)
107
109
  !file.start_with?(RbConfig::CONFIG['libdir']) &&
108
110
  !gem_path?(file) &&
109
111
  !%w( (eval) <internal:prelude> ).include?(file)
@@ -37,7 +37,8 @@ class << Pry
37
37
  if i = (@raised || []).index{ |(ee, _)| ee == e }
38
38
  PryRescue.enter_exception_context(@raised[0..i])
39
39
  else
40
- stack = "\n" + e.backtrace.join("\n")
40
+ stack = ''
41
+ stack = "\n" + e.backtrace.join("\n") if e.backtrace
41
42
  case e
42
43
  when SystemStackError
43
44
  # Interception cannot reliably interept SystemStackErrors as it needs
data/pry-rescue.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'pry-rescue'
3
- s.version = '0.14'
3
+ s.version = '0.15'
4
4
  s.summary = 'Open a pry session on any unhandled exceptions'
5
5
  s.description = 'Allows you to wrap code in Pry::rescue{ } to open a pry session at any unhandled exceptions'
6
6
  s.homepage = 'https://github.com/ConradIrwin/pry-rescue'
@@ -107,7 +107,9 @@ describe "Pry.rescued" do
107
107
 
108
108
  it "should raise an error if used on an exception not raised" do
109
109
  Pry::rescue do
110
- Pry.should_receive(:warn).with("WARNING: Tried to inspect an exception that was not raised within Pry::rescue{ }")
110
+ Pry.should_receive(:warn) do |message|
111
+ message.should =~ /^WARNING: Tried to inspect exception outside of Pry::rescue/
112
+ end
111
113
  Pry.rescued(RuntimeError.new("foo").exception)
112
114
  end
113
115
  end
@@ -52,6 +52,12 @@ describe "PryRescue.load" do
52
52
  }.should raise_error(ArgumentError)
53
53
  end
54
54
 
55
+ it "should skip pwd, even if it is a gem (but not vendor stuff)" do
56
+ Gem::Specification.stub :any? do true end
57
+ PryRescue.send(:user_path?, Dir.pwd + '/asdf.rb').should be_true
58
+ PryRescue.send(:user_path?, Dir.pwd + '/vendor/asdf.rb').should be_false
59
+ end
60
+
55
61
  it "should filter out duplicate stack frames" do
56
62
  PryRescue.should_receive(:pry).once do |opts|
57
63
  opts[:call_stack][0].eval("__LINE__").should == 4
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-rescue
3
3
  version: !ruby/object:Gem::Version
4
+ version: '0.15'
4
5
  prerelease:
5
- version: '0.14'
6
6
  platform: ruby
7
7
  authors:
8
8
  - Conrad Irwin
@@ -11,16 +11,17 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-01-05 00:00:00.000000000 Z
14
+ date: 2013-01-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- type: :runtime
17
+ name: pry
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
22
22
  - !ruby/object:Gem::Version
23
23
  version: '0'
24
+ type: :runtime
24
25
  prerelease: false
25
26
  version_requirements: !ruby/object:Gem::Requirement
26
27
  none: false
@@ -28,15 +29,15 @@ dependencies:
28
29
  - - ! '>='
29
30
  - !ruby/object:Gem::Version
30
31
  version: '0'
31
- name: pry
32
32
  - !ruby/object:Gem::Dependency
33
- type: :runtime
33
+ name: interception
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  none: false
36
36
  requirements:
37
37
  - - ! '>='
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0.3'
40
+ type: :runtime
40
41
  prerelease: false
41
42
  version_requirements: !ruby/object:Gem::Requirement
42
43
  none: false
@@ -44,15 +45,15 @@ dependencies:
44
45
  - - ! '>='
45
46
  - !ruby/object:Gem::Version
46
47
  version: '0.3'
47
- name: interception
48
48
  - !ruby/object:Gem::Dependency
49
- type: :development
49
+ name: pry-stack_explorer
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
+ type: :development
56
57
  prerelease: false
57
58
  version_requirements: !ruby/object:Gem::Requirement
58
59
  none: false
@@ -60,15 +61,15 @@ dependencies:
60
61
  - - ! '>='
61
62
  - !ruby/object:Gem::Version
62
63
  version: '0'
63
- name: pry-stack_explorer
64
64
  - !ruby/object:Gem::Dependency
65
- type: :development
65
+ name: rspec
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  none: false
68
68
  requirements:
69
69
  - - ! '>='
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
+ type: :development
72
73
  prerelease: false
73
74
  version_requirements: !ruby/object:Gem::Requirement
74
75
  none: false
@@ -76,15 +77,15 @@ dependencies:
76
77
  - - ! '>='
77
78
  - !ruby/object:Gem::Version
78
79
  version: '0'
79
- name: rspec
80
80
  - !ruby/object:Gem::Dependency
81
- type: :development
81
+ name: yard
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
+ type: :development
88
89
  prerelease: false
89
90
  version_requirements: !ruby/object:Gem::Requirement
90
91
  none: false
@@ -92,15 +93,15 @@ dependencies:
92
93
  - - ! '>='
93
94
  - !ruby/object:Gem::Version
94
95
  version: '0'
95
- name: yard
96
96
  - !ruby/object:Gem::Dependency
97
- type: :development
97
+ name: redcarpet
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
101
101
  - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
+ type: :development
104
105
  prerelease: false
105
106
  version_requirements: !ruby/object:Gem::Requirement
106
107
  none: false
@@ -108,7 +109,6 @@ dependencies:
108
109
  - - ! '>='
109
110
  - !ruby/object:Gem::Version
110
111
  version: '0'
111
- name: redcarpet
112
112
  description: Allows you to wrap code in Pry::rescue{ } to open a pry session at any
113
113
  unhandled exceptions
114
114
  email: