pry-rescue 0.14 → 0.15

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/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: