pry-rescue 0.7 → 0.8
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/.gitignore +5 -0
 - data/Gemfile +2 -0
 - data/README.md +6 -0
 - data/lib/pry-rescue.rb +40 -9
 - data/lib/pry-rescue/core_ext.rb +1 -1
 - data/lib/pry-rescue/rack.rb +19 -0
 - data/pry-rescue.gemspec +5 -1
 - data/spec/fixtures/initial.rb +13 -0
 - data/spec/fixtures/raiseother.rb +13 -0
 - data/spec/fixtures/reraise.rb +13 -0
 - data/spec/fixtures/simple.rb +1 -1
 - data/spec/fixtures/super.rb +17 -0
 - data/spec/pry_rescue_spec.rb +31 -3
 - metadata +59 -3
 
    
        data/Gemfile
    ADDED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -11,6 +11,12 @@ instead of `ruby`: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            rescue <script.rb> [arguments..]
         
     | 
| 
       12 
12 
     | 
    
         
             
            ```
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
            If you're using Rack, you should use the middleware instead (though be careful to only
         
     | 
| 
      
 15 
     | 
    
         
            +
            include it in development!)
         
     | 
| 
      
 16 
     | 
    
         
            +
            ```
         
     | 
| 
      
 17 
     | 
    
         
            +
            use PryRescue::Rack
         
     | 
| 
      
 18 
     | 
    
         
            +
            ```
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       14 
20 
     | 
    
         
             
            If you want more fine-grained control over which parts of your code are rescued, you can
         
     | 
| 
       15 
21 
     | 
    
         
             
            also use the block form:
         
     | 
| 
       16 
22 
     | 
    
         | 
    
        data/lib/pry-rescue.rb
    CHANGED
    
    | 
         @@ -4,29 +4,38 @@ require 'pry' 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            require File.expand_path('../pry-rescue/core_ext', __FILE__)
         
     | 
| 
       6 
6 
     | 
    
         
             
            require File.expand_path('../pry-rescue/commands', __FILE__)
         
     | 
| 
      
 7 
     | 
    
         
            +
            require File.expand_path('../pry-rescue/rack', __FILE__)
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
       8 
9 
     | 
    
         
             
            begin
         
     | 
| 
       9 
10 
     | 
    
         
             
              require 'pry-stack_explorer'
         
     | 
| 
       10 
11 
     | 
    
         
             
            rescue LoadError
         
     | 
| 
       11 
12 
     | 
    
         
             
            end
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
            # PryRescue provides the ability to open a Pry shell whenever an unhandled exception is
         
     | 
| 
      
 15 
     | 
    
         
            +
            # raised in your code.
         
     | 
| 
      
 16 
     | 
    
         
            +
            #
         
     | 
| 
      
 17 
     | 
    
         
            +
            # The main API is exposed via the Pry object, but here are a load of helpers that I didn't
         
     | 
| 
      
 18 
     | 
    
         
            +
            # want to pollute the Pry namespace with.
         
     | 
| 
      
 19 
     | 
    
         
            +
            #
         
     | 
| 
      
 20 
     | 
    
         
            +
            # @see {Pry::rescue}
         
     | 
| 
       13 
21 
     | 
    
         
             
            class PryRescue
         
     | 
| 
       14 
22 
     | 
    
         
             
              class << self
         
     | 
| 
       15 
23 
     | 
    
         | 
| 
       16 
24 
     | 
    
         
             
                # Start a Pry session in the context of the exception.
         
     | 
| 
       17 
     | 
    
         
            -
                # @param [Exception]  
     | 
| 
       18 
     | 
    
         
            -
                # @param [Array<Binding>] bindings The call stack.
         
     | 
| 
      
 25 
     | 
    
         
            +
                # @param [Array<Exception, Array<Binding>>] raised  The exceptions raised
         
     | 
| 
       19 
26 
     | 
    
         
             
                def enter_exception_context(raised)
         
     | 
| 
       20 
27 
     | 
    
         | 
| 
       21 
28 
     | 
    
         
             
                  raised = raised.map do |e, bs|
         
     | 
| 
       22 
29 
     | 
    
         
             
                    [e, without_bindings_below_raise(bs)]
         
     | 
| 
       23 
30 
     | 
    
         
             
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
                  raised = without_gem_reraises(raised)
         
     | 
| 
       24 
32 
     | 
    
         | 
| 
       25 
33 
     | 
    
         
             
                  raised.pop if phantom_load_raise?(*raised.last)
         
     | 
| 
       26 
34 
     | 
    
         
             
                  exception, bindings = raised.last
         
     | 
| 
      
 35 
     | 
    
         
            +
                  bindings = without_duplicates(bindings)
         
     | 
| 
       27 
36 
     | 
    
         | 
| 
       28 
37 
     | 
    
         
             
                  if defined?(PryStackExplorer)
         
     | 
| 
       29 
     | 
    
         
            -
                    pry :call_stack =>  
     | 
| 
      
 38 
     | 
    
         
            +
                    pry :call_stack => bindings,
         
     | 
| 
       30 
39 
     | 
    
         
             
                        :hooks => pry_hooks(exception, raised),
         
     | 
| 
       31 
40 
     | 
    
         
             
                        :initial_frame => initial_frame(bindings)
         
     | 
| 
       32 
41 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -35,7 +44,7 @@ class PryRescue 
     | 
|
| 
       35 
44 
     | 
    
         
             
                end
         
     | 
| 
       36 
45 
     | 
    
         | 
| 
       37 
46 
     | 
    
         
             
                # Load a script wrapped in Pry::rescue{ }
         
     | 
| 
       38 
     | 
    
         
            -
                # @param [String] The name of the script
         
     | 
| 
      
 47 
     | 
    
         
            +
                # @param [String] script  The name of the script
         
     | 
| 
       39 
48 
     | 
    
         
             
                def load(script)
         
     | 
| 
       40 
49 
     | 
    
         
             
                  Pry::rescue{ Kernel.load script }
         
     | 
| 
       41 
50 
     | 
    
         
             
                end
         
     | 
| 
         @@ -46,7 +55,9 @@ class PryRescue 
     | 
|
| 
       46 
55 
     | 
    
         
             
                #
         
     | 
| 
       47 
56 
     | 
    
         
             
                # This is designed to remove the extra raise that is caused by PryRescue.load.
         
     | 
| 
       48 
57 
     | 
    
         
             
                # TODO: we should figure out why it happens...
         
     | 
| 
       49 
     | 
    
         
            -
                # 
     | 
| 
      
 58 
     | 
    
         
            +
                #
         
     | 
| 
      
 59 
     | 
    
         
            +
                # @param [Exception] e  The raised exception
         
     | 
| 
      
 60 
     | 
    
         
            +
                # @param [Array<Binding>] bindings  The call stack
         
     | 
| 
       50 
61 
     | 
    
         
             
                def phantom_load_raise?(e, bindings)
         
     | 
| 
       51 
62 
     | 
    
         
             
                  bindings.any? && bindings.first.eval("__FILE__") == __FILE__
         
     | 
| 
       52 
63 
     | 
    
         
             
                end
         
     | 
| 
         @@ -54,7 +65,7 @@ class PryRescue 
     | 
|
| 
       54 
65 
     | 
    
         
             
                # When using pry-stack-explorer we want to start the rescue session outside of gems
         
     | 
| 
       55 
66 
     | 
    
         
             
                # and the standard library, as that is most helpful for users.
         
     | 
| 
       56 
67 
     | 
    
         
             
                #
         
     | 
| 
       57 
     | 
    
         
            -
                # @param [Array<Bindings>]  All bindings
         
     | 
| 
      
 68 
     | 
    
         
            +
                # @param [Array<Bindings>] bindings  All bindings
         
     | 
| 
       58 
69 
     | 
    
         
             
                # @return [Fixnum]  The offset of the first binding of user code
         
     | 
| 
       59 
70 
     | 
    
         
             
                def initial_frame(bindings)
         
     | 
| 
       60 
71 
     | 
    
         
             
                  bindings.each_with_index do |binding, i|
         
     | 
| 
         @@ -66,7 +77,7 @@ class PryRescue 
     | 
|
| 
       66 
77 
     | 
    
         | 
| 
       67 
78 
     | 
    
         
             
                # Is this path likely to be code the user is working with right now?
         
     | 
| 
       68 
79 
     | 
    
         
             
                #
         
     | 
| 
       69 
     | 
    
         
            -
                # @param [String] the absolute path
         
     | 
| 
      
 80 
     | 
    
         
            +
                # @param [String] file  the absolute path
         
     | 
| 
       70 
81 
     | 
    
         
             
                # @return [Boolean]
         
     | 
| 
       71 
82 
     | 
    
         
             
                def user_path?(file)
         
     | 
| 
       72 
83 
     | 
    
         
             
                  !file.start_with?(RbConfig::CONFIG['libdir']) &&
         
     | 
| 
         @@ -76,7 +87,7 @@ class PryRescue 
     | 
|
| 
       76 
87 
     | 
    
         
             
                # Remove bindings that are part of Interception/Pry.rescue's internal
         
     | 
| 
       77 
88 
     | 
    
         
             
                # event handling that happens as part of the exception hooking process.
         
     | 
| 
       78 
89 
     | 
    
         
             
                #
         
     | 
| 
       79 
     | 
    
         
            -
                # @param [Array<Binding>] bindings 
     | 
| 
      
 90 
     | 
    
         
            +
                # @param [Array<Binding>] bindings  The call stack.
         
     | 
| 
       80 
91 
     | 
    
         
             
                def without_bindings_below_raise(bindings)
         
     | 
| 
       81 
92 
     | 
    
         
             
                  return bindings if bindings.size <= 1
         
     | 
| 
       82 
93 
     | 
    
         
             
                  bindings.drop_while do |b|
         
     | 
| 
         @@ -88,7 +99,7 @@ class PryRescue 
     | 
|
| 
       88 
99 
     | 
    
         | 
| 
       89 
100 
     | 
    
         
             
                # Remove multiple bindings for the same function.
         
     | 
| 
       90 
101 
     | 
    
         
             
                #
         
     | 
| 
       91 
     | 
    
         
            -
                # @param [Array<Bindings>]
         
     | 
| 
      
 102 
     | 
    
         
            +
                # @param [Array<Bindings>] bindings  The call stack
         
     | 
| 
       92 
103 
     | 
    
         
             
                # @return [Array<Bindings>]
         
     | 
| 
       93 
104 
     | 
    
         
             
                def without_duplicates(bindings)
         
     | 
| 
       94 
105 
     | 
    
         
             
                  bindings.zip([nil] + bindings).reject do |b, c|
         
     | 
| 
         @@ -99,9 +110,29 @@ class PryRescue 
     | 
|
| 
       99 
110 
     | 
    
         
             
                  end.map(&:first)
         
     | 
| 
       100 
111 
     | 
    
         
             
                end
         
     | 
| 
       101 
112 
     | 
    
         | 
| 
      
 113 
     | 
    
         
            +
                # Remove any re-raises of the exact exception object that happened from within
         
     | 
| 
      
 114 
     | 
    
         
            +
                # a gem, and show you only the raise that happened in your code.
         
     | 
| 
      
 115 
     | 
    
         
            +
                #
         
     | 
| 
      
 116 
     | 
    
         
            +
                # @param [Array<Exception, Array<Binding>>] raised  The exceptions raised
         
     | 
| 
      
 117 
     | 
    
         
            +
                def without_gem_reraises(raised)
         
     | 
| 
      
 118 
     | 
    
         
            +
                  seen = {}
         
     | 
| 
      
 119 
     | 
    
         
            +
                  raised.select do |(e, bindings)|
         
     | 
| 
      
 120 
     | 
    
         
            +
                    if seen[e] && !user_path?(bindings.first.eval("__FILE__"))
         
     | 
| 
      
 121 
     | 
    
         
            +
                      false
         
     | 
| 
      
 122 
     | 
    
         
            +
                    elsif user_path?(bindings.first.eval("__FILE__"))
         
     | 
| 
      
 123 
     | 
    
         
            +
                      seen[e] = true
         
     | 
| 
      
 124 
     | 
    
         
            +
                    else
         
     | 
| 
      
 125 
     | 
    
         
            +
                      true
         
     | 
| 
      
 126 
     | 
    
         
            +
                    end
         
     | 
| 
      
 127 
     | 
    
         
            +
                  end
         
     | 
| 
      
 128 
     | 
    
         
            +
                end
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
       102 
130 
     | 
    
         
             
                # Define the :before_session hook for the Pry instance.
         
     | 
| 
       103 
131 
     | 
    
         
             
                # This ensures that the `_ex_` and `_raised_` sticky locals are
         
     | 
| 
       104 
132 
     | 
    
         
             
                # properly set.
         
     | 
| 
      
 133 
     | 
    
         
            +
                #
         
     | 
| 
      
 134 
     | 
    
         
            +
                # @param [Exception] ex  The exception we're currently looking at
         
     | 
| 
      
 135 
     | 
    
         
            +
                # @param [Array<Exception, Array<Binding>>] raised  The exceptions raised
         
     | 
| 
       105 
136 
     | 
    
         
             
                def pry_hooks(ex, raised)
         
     | 
| 
       106 
137 
     | 
    
         
             
                  hooks = Pry.config.hooks.dup
         
     | 
| 
       107 
138 
     | 
    
         
             
                  hooks.add_hook(:before_session, :save_captured_exception) do |_, _, _pry_|
         
     | 
    
        data/lib/pry-rescue/core_ext.rb
    CHANGED
    
    
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'pry-rescue'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class PryRescue
         
     | 
| 
      
 4 
     | 
    
         
            +
              # A Rack middleware that wraps each web request in Pry::rescue.
         
     | 
| 
      
 5 
     | 
    
         
            +
              class Rack
         
     | 
| 
      
 6 
     | 
    
         
            +
                # Instantiate the middleware
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                # @param [#call] app
         
     | 
| 
      
 9 
     | 
    
         
            +
                def initialize(app)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @app = app
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                # Handle a web request
         
     | 
| 
      
 14 
     | 
    
         
            +
                # @param [Rack::Env] env
         
     | 
| 
      
 15 
     | 
    
         
            +
                def call(env)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Pry::rescue{ @app.call(env) }
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
    
        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. 
     | 
| 
      
 3 
     | 
    
         
            +
              s.version       = '0.8'
         
     | 
| 
       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'
         
     | 
| 
         @@ -12,4 +12,8 @@ Gem::Specification.new do |s| 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              s.add_dependency 'pry'
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.add_dependency 'interception'
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              s.add_development_dependency 'rspec'
         
     | 
| 
      
 17 
     | 
    
         
            +
              s.add_development_dependency 'yard'
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.add_development_dependency 'redcarpet'
         
     | 
| 
       15 
19 
     | 
    
         
             
            end
         
     | 
    
        data/spec/fixtures/simple.rb
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            raise " 
     | 
| 
      
 1 
     | 
    
         
            +
            raise "simple-exception"
         
     | 
    
        data/spec/pry_rescue_spec.rb
    CHANGED
    
    | 
         @@ -9,7 +9,7 @@ describe "PryRescue.load" do 
     | 
|
| 
       9 
9 
     | 
    
         
             
                  }
         
     | 
| 
       10 
10 
     | 
    
         
             
                  lambda{
         
     | 
| 
       11 
11 
     | 
    
         
             
                    PryRescue.load("spec/fixtures/simple.rb")
         
     | 
| 
       12 
     | 
    
         
            -
                  }.should raise_error(/ 
     | 
| 
      
 12 
     | 
    
         
            +
                  }.should raise_error(/simple-exception/)
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                it "should open above the standard library" do
         
     | 
| 
         @@ -55,7 +55,35 @@ describe "PryRescue.load" do 
     | 
|
| 
       55 
55 
     | 
    
         
             
                  end
         
     | 
| 
       56 
56 
     | 
    
         
             
                  lambda{
         
     | 
| 
       57 
57 
     | 
    
         
             
                    PryRescue.load("spec/fixtures/super.rb")
         
     | 
| 
       58 
     | 
    
         
            -
                  }.should raise_error(/ 
     | 
| 
      
 58 
     | 
    
         
            +
                  }.should raise_error(/super-exception/)
         
     | 
| 
      
 59 
     | 
    
         
            +
                end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                it "should calculate correct initial frame even when duplicates are present" do
         
     | 
| 
      
 62 
     | 
    
         
            +
                  PryRescue.should_receive(:pry).once do |opts|
         
     | 
| 
      
 63 
     | 
    
         
            +
                    opts[:call_stack][0].eval("__FILE__").should end_with('fake.rb')
         
     | 
| 
      
 64 
     | 
    
         
            +
                    opts[:call_stack][opts[:initial_frame]].eval("__FILE__").should end_with('spec/fixtures/initial.rb')
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
                  lambda{
         
     | 
| 
      
 67 
     | 
    
         
            +
                    PryRescue.load("spec/fixtures/initial.rb")
         
     | 
| 
      
 68 
     | 
    
         
            +
                  }.should raise_error(/no :baz please/)
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                it "should skip over reraises from within gems" do
         
     | 
| 
      
 72 
     | 
    
         
            +
                  PryRescue.should_receive(:pry).once do |opts|
         
     | 
| 
      
 73 
     | 
    
         
            +
                    opts[:call_stack][0].eval("__FILE__").should end_with('spec/fixtures/reraise.rb')
         
     | 
| 
      
 74 
     | 
    
         
            +
                  end
         
     | 
| 
      
 75 
     | 
    
         
            +
                  lambda{
         
     | 
| 
      
 76 
     | 
    
         
            +
                    PryRescue.load("spec/fixtures/reraise.rb")
         
     | 
| 
      
 77 
     | 
    
         
            +
                  }.should raise_error(/reraise-exception/)
         
     | 
| 
      
 78 
     | 
    
         
            +
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                it "should not skip over independent raises within gems" do
         
     | 
| 
      
 81 
     | 
    
         
            +
                  PryRescue.should_receive(:pry).once do |opts|
         
     | 
| 
      
 82 
     | 
    
         
            +
                    opts[:call_stack][0].eval("__FILE__").should end_with('fake.rb')
         
     | 
| 
      
 83 
     | 
    
         
            +
                  end
         
     | 
| 
      
 84 
     | 
    
         
            +
                  lambda{
         
     | 
| 
      
 85 
     | 
    
         
            +
                    PryRescue.load("spec/fixtures/raiseother.rb")
         
     | 
| 
      
 86 
     | 
    
         
            +
                  }.should raise_error(/raiseother_exception/)
         
     | 
| 
       59 
87 
     | 
    
         
             
                end
         
     | 
| 
       60 
88 
     | 
    
         
             
              else
         
     | 
| 
       61 
89 
     | 
    
         
             
                it "should open at the correct point" do
         
     | 
| 
         @@ -64,7 +92,7 @@ describe "PryRescue.load" do 
     | 
|
| 
       64 
92 
     | 
    
         
             
                  }
         
     | 
| 
       65 
93 
     | 
    
         
             
                  lambda{
         
     | 
| 
       66 
94 
     | 
    
         
             
                    PryRescue.load("spec/fixtures/simple.rb")
         
     | 
| 
       67 
     | 
    
         
            -
                  }.should raise_error(/ 
     | 
| 
      
 95 
     | 
    
         
            +
                  }.should raise_error(/simple-exception/)
         
     | 
| 
       68 
96 
     | 
    
         
             
                end
         
     | 
| 
       69 
97 
     | 
    
         
             
              end
         
     | 
| 
       70 
98 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: pry-rescue
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: '0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: '0.8'
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -11,7 +11,7 @@ authors: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       13 
13 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       14 
     | 
    
         
            -
            date: 2012-08- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2012-08-31 00:00:00.000000000 Z
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies:
         
     | 
| 
       16 
16 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
17 
     | 
    
         
             
              name: pry
         
     | 
| 
         @@ -45,6 +45,54 @@ dependencies: 
     | 
|
| 
       45 
45 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       46 
46 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       47 
47 
     | 
    
         
             
                    version: '0'
         
     | 
| 
      
 48 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 49 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 50 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 51 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 52 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 53 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 54 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 55 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 56 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 57 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 58 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 59 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 60 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 61 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 62 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 63 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 64 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 65 
     | 
    
         
            +
              name: yard
         
     | 
| 
      
 66 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 67 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 68 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 69 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 70 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 71 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 72 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 73 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 74 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 75 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 76 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 77 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 79 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 80 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 81 
     | 
    
         
            +
              name: redcarpet
         
     | 
| 
      
 82 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 83 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 84 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 85 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 86 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 87 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 88 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 89 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 90 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 91 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 92 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 93 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 94 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 95 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       48 
96 
     | 
    
         
             
            description: Allows you to wrap code in Pry::rescue{ } to open a pry session at any
         
     | 
| 
       49 
97 
     | 
    
         
             
              unhandled exceptions
         
     | 
| 
       50 
98 
     | 
    
         
             
            email:
         
     | 
| 
         @@ -56,6 +104,8 @@ executables: 
     | 
|
| 
       56 
104 
     | 
    
         
             
            extensions: []
         
     | 
| 
       57 
105 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       58 
106 
     | 
    
         
             
            files:
         
     | 
| 
      
 107 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 108 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
       59 
109 
     | 
    
         
             
            - LICENSE.MIT
         
     | 
| 
       60 
110 
     | 
    
         
             
            - README.md
         
     | 
| 
       61 
111 
     | 
    
         
             
            - Rakefile
         
     | 
| 
         @@ -67,11 +117,16 @@ files: 
     | 
|
| 
       67 
117 
     | 
    
         
             
            - lib/pry-rescue/cli.rb
         
     | 
| 
       68 
118 
     | 
    
         
             
            - lib/pry-rescue/commands.rb
         
     | 
| 
       69 
119 
     | 
    
         
             
            - lib/pry-rescue/core_ext.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            - lib/pry-rescue/rack.rb
         
     | 
| 
       70 
121 
     | 
    
         
             
            - lib/pry/rescue.rb
         
     | 
| 
       71 
122 
     | 
    
         
             
            - pry-rescue.gemspec
         
     | 
| 
       72 
123 
     | 
    
         
             
            - spec/core_ext_spec.rb
         
     | 
| 
       73 
124 
     | 
    
         
             
            - spec/fixtures/coderay.rb
         
     | 
| 
      
 125 
     | 
    
         
            +
            - spec/fixtures/initial.rb
         
     | 
| 
      
 126 
     | 
    
         
            +
            - spec/fixtures/raiseother.rb
         
     | 
| 
      
 127 
     | 
    
         
            +
            - spec/fixtures/reraise.rb
         
     | 
| 
       74 
128 
     | 
    
         
             
            - spec/fixtures/simple.rb
         
     | 
| 
      
 129 
     | 
    
         
            +
            - spec/fixtures/super.rb
         
     | 
| 
       75 
130 
     | 
    
         
             
            - spec/fixtures/uri.rb
         
     | 
| 
       76 
131 
     | 
    
         
             
            - spec/pry_rescue_spec.rb
         
     | 
| 
       77 
132 
     | 
    
         
             
            homepage: https://github.com/ConradIrwin/pry-rescue
         
     | 
| 
         @@ -94,8 +149,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       94 
149 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       95 
150 
     | 
    
         
             
            requirements: []
         
     | 
| 
       96 
151 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       97 
     | 
    
         
            -
            rubygems_version: 1.8. 
     | 
| 
      
 152 
     | 
    
         
            +
            rubygems_version: 1.8.23
         
     | 
| 
       98 
153 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       99 
154 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       100 
155 
     | 
    
         
             
            summary: Open a pry session on any unhandled exceptions
         
     | 
| 
       101 
156 
     | 
    
         
             
            test_files: []
         
     | 
| 
      
 157 
     | 
    
         
            +
            has_rdoc: 
         
     |