pry 0.9.11.4-i386-mingw32 → 0.9.12-i386-mingw32
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/.travis.yml +2 -0
 - data/CHANGELOG +19 -0
 - data/Rakefile +4 -0
 - data/lib/pry.rb +1 -1
 - data/lib/pry/cli.rb +14 -8
 - data/lib/pry/code.rb +3 -3
 - data/lib/pry/command.rb +20 -5
 - data/lib/pry/command_set.rb +3 -3
 - data/lib/pry/commands.rb +1 -1
 - data/lib/pry/commands/disabled_commands.rb +2 -0
 - data/lib/pry/commands/ls.rb +1 -2
 - data/lib/pry/commands/reload_code.rb +8 -1
 - data/lib/pry/commands/show_info.rb +66 -5
 - data/lib/pry/commands/show_source.rb +2 -1
 - data/lib/pry/commands/whereami.rb +87 -19
 - data/lib/pry/completion.rb +13 -4
 - data/lib/pry/helpers/base_helpers.rb +5 -2
 - data/lib/pry/helpers/command_helpers.rb +3 -1
 - data/lib/pry/helpers/documentation_helpers.rb +18 -7
 - data/lib/pry/helpers/table.rb +4 -4
 - data/lib/pry/indent.rb +2 -7
 - data/lib/pry/method.rb +89 -129
 - data/lib/pry/method/disowned.rb +53 -0
 - data/lib/pry/method/weird_method_locator.rb +186 -0
 - data/lib/pry/module_candidate.rb +13 -8
 - data/lib/pry/pager.rb +12 -11
 - data/lib/pry/plugins.rb +2 -0
 - data/lib/pry/pry_class.rb +19 -3
 - data/lib/pry/pry_instance.rb +3 -0
 - data/lib/pry/terminal.rb +78 -0
 - data/lib/pry/version.rb +1 -1
 - data/lib/pry/wrapped_module.rb +63 -1
 - data/spec/Procfile +3 -0
 - data/spec/command_helpers_spec.rb +21 -1
 - data/spec/commands/ls_spec.rb +4 -0
 - data/spec/commands/show_doc_spec.rb +255 -123
 - data/spec/commands/show_source_spec.rb +421 -236
 - data/spec/commands/whereami_spec.rb +60 -11
 - data/spec/completion_spec.rb +6 -0
 - data/spec/documentation_helper_spec.rb +73 -0
 - data/spec/fixtures/whereami_helper.rb +6 -0
 - data/spec/helpers/table_spec.rb +19 -0
 - data/spec/method_spec.rb +24 -7
 - metadata +12 -5
 - data/.gemtest +0 -0
 - data/lib/pry/commands/deprecated_commands.rb +0 -2
 - data/lib/pry/terminal_info.rb +0 -48
 
| 
         @@ -63,7 +63,6 @@ describe "whereami" do 
     | 
|
| 
       63 
63 
     | 
    
         
             
                end
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         
             
                Cor.instance_method(:blimey!).source.should =~ /pry_eval/
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
66 
     | 
    
         
             
                Cor.new.blimey!.should =~ /Cor#blimey!.*Look at me/m
         
     | 
| 
       68 
67 
     | 
    
         
             
                Object.remove_const(:Cor)
         
     | 
| 
       69 
68 
     | 
    
         
             
              end
         
     | 
| 
         @@ -85,26 +84,76 @@ describe "whereami" do 
     | 
|
| 
       85 
84 
     | 
    
         
             
                Object.remove_const(:Cor)
         
     | 
| 
       86 
85 
     | 
    
         
             
              end
         
     | 
| 
       87 
86 
     | 
    
         | 
| 
       88 
     | 
    
         
            -
               
     | 
| 
      
 87 
     | 
    
         
            +
              # Now that we use stagger_output (paging output) we no longer get
         
     | 
| 
      
 88 
     | 
    
         
            +
              # the "From: " line, as we output everything in one go (not separate output.puts)
         
     | 
| 
      
 89 
     | 
    
         
            +
              # and so the user just gets a single `Error: Cannot open
         
     | 
| 
      
 90 
     | 
    
         
            +
              # "not.found.file.erb" for reading.`
         
     | 
| 
      
 91 
     | 
    
         
            +
              # which is good enough IMO. Unfortunately we can't test for it
         
     | 
| 
      
 92 
     | 
    
         
            +
              # though, as we don't hook stdout.
         
     | 
| 
      
 93 
     | 
    
         
            +
              #
         
     | 
| 
      
 94 
     | 
    
         
            +
              # it 'should display a description and error if reading the file goes wrong' do
         
     | 
| 
      
 95 
     | 
    
         
            +
              #   class Cor
         
     | 
| 
      
 96 
     | 
    
         
            +
              #     def blimey!
         
     | 
| 
      
 97 
     | 
    
         
            +
              #       eval <<-END, binding, "not.found.file.erb", 7
         
     | 
| 
      
 98 
     | 
    
         
            +
              #         Pad.tester = pry_tester(binding)
         
     | 
| 
      
 99 
     | 
    
         
            +
              #         Pad.tester.eval('whereami')
         
     | 
| 
      
 100 
     | 
    
         
            +
              #       END
         
     | 
| 
      
 101 
     | 
    
         
            +
              #     end
         
     | 
| 
      
 102 
     | 
    
         
            +
              #   end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
              #   proc { Cor.new.blimey! }.should.raise(MethodSource::SourceNotFoundError)
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
              #   Pad.tester.last_output.should =~
         
     | 
| 
      
 107 
     | 
    
         
            +
              #     /From: not.found.file.erb @ line 7 Cor#blimey!:/
         
     | 
| 
      
 108 
     | 
    
         
            +
              #   Object.remove_const(:Cor)
         
     | 
| 
      
 109 
     | 
    
         
            +
              # end
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
              it 'should show code window (not just method source) if parameter passed to whereami' do
         
     | 
| 
       89 
112 
     | 
    
         
             
                class Cor
         
     | 
| 
       90 
113 
     | 
    
         
             
                  def blimey!
         
     | 
| 
       91 
     | 
    
         
            -
                     
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
      
 114 
     | 
    
         
            +
                    pry_eval(binding, 'whereami 3').should =~ /class Cor/
         
     | 
| 
      
 115 
     | 
    
         
            +
                  end
         
     | 
| 
      
 116 
     | 
    
         
            +
                end
         
     | 
| 
      
 117 
     | 
    
         
            +
                Cor.new.blimey!
         
     | 
| 
      
 118 
     | 
    
         
            +
                Object.remove_const(:Cor)
         
     | 
| 
      
 119 
     | 
    
         
            +
              end
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
              it 'should show entire method when -m option used' do
         
     | 
| 
      
 122 
     | 
    
         
            +
                old_size, Pry.config.default_window_size = Pry.config.default_window_size, 1
         
     | 
| 
      
 123 
     | 
    
         
            +
                old_cutoff, Pry::Command::Whereami.method_size_cutoff = Pry::Command::Whereami.method_size_cutoff, 1
         
     | 
| 
      
 124 
     | 
    
         
            +
                class Cor
         
     | 
| 
      
 125 
     | 
    
         
            +
                  def blimey!
         
     | 
| 
      
 126 
     | 
    
         
            +
                    1
         
     | 
| 
      
 127 
     | 
    
         
            +
                    2
         
     | 
| 
      
 128 
     | 
    
         
            +
                    pry_eval(binding, 'whereami -m').should =~ /def blimey/
         
     | 
| 
       95 
129 
     | 
    
         
             
                  end
         
     | 
| 
       96 
130 
     | 
    
         
             
                end
         
     | 
| 
      
 131 
     | 
    
         
            +
                Pry::Command::Whereami.method_size_cutoff, Pry.config.default_window_size = old_cutoff, old_size
         
     | 
| 
      
 132 
     | 
    
         
            +
                Cor.new.blimey!
         
     | 
| 
      
 133 
     | 
    
         
            +
                Object.remove_const(:Cor)
         
     | 
| 
      
 134 
     | 
    
         
            +
              end
         
     | 
| 
       97 
135 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                 
     | 
| 
       100 
     | 
    
         
            -
                   
     | 
| 
      
 136 
     | 
    
         
            +
              it 'should show entire file when -f option used' do
         
     | 
| 
      
 137 
     | 
    
         
            +
                class Cor
         
     | 
| 
      
 138 
     | 
    
         
            +
                  def blimey!
         
     | 
| 
      
 139 
     | 
    
         
            +
                    1
         
     | 
| 
      
 140 
     | 
    
         
            +
                    2
         
     | 
| 
      
 141 
     | 
    
         
            +
                    pry_eval(binding, 'whereami -f').should =~ /show entire file when -f option used/
         
     | 
| 
      
 142 
     | 
    
         
            +
                  end
         
     | 
| 
      
 143 
     | 
    
         
            +
                end
         
     | 
| 
      
 144 
     | 
    
         
            +
                Cor.new.blimey!
         
     | 
| 
       101 
145 
     | 
    
         
             
                Object.remove_const(:Cor)
         
     | 
| 
       102 
146 
     | 
    
         
             
              end
         
     | 
| 
       103 
147 
     | 
    
         | 
| 
       104 
     | 
    
         
            -
              it 'should show  
     | 
| 
      
 148 
     | 
    
         
            +
              it 'should show class when -c option used, and locate correct candidate' do
         
     | 
| 
      
 149 
     | 
    
         
            +
                require 'fixtures/whereami_helper'
         
     | 
| 
       105 
150 
     | 
    
         
             
                class Cor
         
     | 
| 
       106 
151 
     | 
    
         
             
                  def blimey!
         
     | 
| 
       107 
     | 
    
         
            -
                     
     | 
| 
      
 152 
     | 
    
         
            +
                    1
         
     | 
| 
      
 153 
     | 
    
         
            +
                    2
         
     | 
| 
      
 154 
     | 
    
         
            +
                    out = pry_eval(binding, 'whereami -c')
         
     | 
| 
      
 155 
     | 
    
         
            +
                    out.should =~ /class Cor/
         
     | 
| 
      
 156 
     | 
    
         
            +
                    out.should =~ /blimey/
         
     | 
| 
       108 
157 
     | 
    
         
             
                  end
         
     | 
| 
       109 
158 
     | 
    
         
             
                end
         
     | 
| 
       110 
159 
     | 
    
         
             
                Cor.new.blimey!
         
     | 
    
        data/spec/completion_spec.rb
    CHANGED
    
    | 
         @@ -230,4 +230,10 @@ describe Pry::InputCompleter do 
     | 
|
| 
       230 
230 
     | 
    
         
             
                pry = Pry.new
         
     | 
| 
       231 
231 
     | 
    
         
             
                new_completer(binding, pry).call("pry.").should.not.include nil
         
     | 
| 
       232 
232 
     | 
    
         
             
              end
         
     | 
| 
      
 233 
     | 
    
         
            +
             
     | 
| 
      
 234 
     | 
    
         
            +
              it "does not raise when complete file paths" do
         
     | 
| 
      
 235 
     | 
    
         
            +
                should.not.raise(Pry::CommandError) {
         
     | 
| 
      
 236 
     | 
    
         
            +
                  new_completer(binding, Pry.new).call("cat lib/p")
         
     | 
| 
      
 237 
     | 
    
         
            +
                }
         
     | 
| 
      
 238 
     | 
    
         
            +
              end
         
     | 
| 
       233 
239 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,73 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Pry::Helpers::DocumentationHelpers do
         
     | 
| 
      
 4 
     | 
    
         
            +
              before do
         
     | 
| 
      
 5 
     | 
    
         
            +
                @helper = Pry::Helpers::DocumentationHelpers
         
     | 
| 
      
 6 
     | 
    
         
            +
              end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              describe "get_comment_content" do
         
     | 
| 
      
 9 
     | 
    
         
            +
                it "should strip off the hash and unindent" do
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @helper.get_comment_content(" # hello\n # world\n").should == "hello\nworld\n"
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                it "should strip out leading lines of hashes" do
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @helper.get_comment_content("###############\n#hello\n#world\n").should == "hello\nworld\n"
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                it "should remove shebangs" do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @helper.get_comment_content("#!/usr/bin/env ruby\n# This is a program\n").should == "This is a program\n"
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                it "should unindent past separators" do
         
     | 
| 
      
 22 
     | 
    
         
            +
                  @helper.get_comment_content(" # Copyright Me <me@cirw.in>\n #--\n # So there.\n").should == "Copyright Me <me@cirw.in>\n--\nSo there.\n"
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              describe "process_rdoc" do
         
     | 
| 
      
 27 
     | 
    
         
            +
                before do
         
     | 
| 
      
 28 
     | 
    
         
            +
                  Pry.color = true
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                after do
         
     | 
| 
      
 32 
     | 
    
         
            +
                  Pry.color = false
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                it "should syntax highlight indented code" do
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @helper.process_rdoc("  4 + 4\n").should.not == "  4 + 4\n"
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                it "should highlight words surrounded by +s" do
         
     | 
| 
      
 40 
     | 
    
         
            +
                  @helper.process_rdoc("the +parameter+").should =~ /the \e.*parameter\e.*/
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                it "should syntax highlight things in backticks" do
         
     | 
| 
      
 44 
     | 
    
         
            +
                  @helper.process_rdoc("for `Example`").should =~ /for `\e.*Example\e.*`/
         
     | 
| 
      
 45 
     | 
    
         
            +
                end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                it "should emphasise em tags" do
         
     | 
| 
      
 48 
     | 
    
         
            +
                  @helper.process_rdoc("for <em>science</em>").should == "for \e[1mscience\e[0m"
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                it "should emphasise italic tags" do
         
     | 
| 
      
 52 
     | 
    
         
            +
                  @helper.process_rdoc("for <i>science</i>").should == "for \e[1mscience\e[0m"
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                it "should syntax highlight code in <code>" do
         
     | 
| 
      
 56 
     | 
    
         
            +
                  @helper.process_rdoc("for <code>Example</code>").should =~ /for \e.*Example\e.*/
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                it "should not double-highlight backticks inside indented code" do
         
     | 
| 
      
 60 
     | 
    
         
            +
                  @helper.process_rdoc("  `echo 5`").should =~ /echo 5/
         
     | 
| 
      
 61 
     | 
    
         
            +
                end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                it "should not remove ++" do
         
     | 
| 
      
 64 
     | 
    
         
            +
                  @helper.process_rdoc("--\n  comment in a bubble\n++").should =~ /\+\+/
         
     | 
| 
      
 65 
     | 
    
         
            +
                end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                it "should do nothing if Pry.color is false" do
         
     | 
| 
      
 68 
     | 
    
         
            +
                  Pry.color = false
         
     | 
| 
      
 69 
     | 
    
         
            +
                  @helper.process_rdoc("  4 + 4\n").should == "  4 + 4\n"
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
              end
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/helpers/table_spec.rb
    CHANGED
    
    | 
         @@ -80,6 +80,25 @@ asfadsssaaad    fasfaafdssd     s 
     | 
|
| 
       80 
80 
     | 
    
         
             
                end
         
     | 
| 
       81 
81 
     | 
    
         
             
              end
         
     | 
| 
       82 
82 
     | 
    
         | 
| 
      
 83 
     | 
    
         
            +
              describe 'line length is smaller than the length of the longest word' do
         
     | 
| 
      
 84 
     | 
    
         
            +
                before do
         
     | 
| 
      
 85 
     | 
    
         
            +
                  element = 'swizzle'
         
     | 
| 
      
 86 
     | 
    
         
            +
                  @elem_len = element.length
         
     | 
| 
      
 87 
     | 
    
         
            +
                  @out = [element, 'crime', 'fun']
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                it 'should not raise error' do
         
     | 
| 
      
 91 
     | 
    
         
            +
                  should.not.raise(FloatDomainError) {
         
     | 
| 
      
 92 
     | 
    
         
            +
                    Pry::Helpers.tablify(@out, @elem_len - 1)
         
     | 
| 
      
 93 
     | 
    
         
            +
                  }
         
     | 
| 
      
 94 
     | 
    
         
            +
                end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
                it 'should format output as one column' do
         
     | 
| 
      
 97 
     | 
    
         
            +
                  table = Pry::Helpers.tablify(@out, @elem_len - 1).to_s
         
     | 
| 
      
 98 
     | 
    
         
            +
                  table.should == "swizzle\ncrime  \nfun    "
         
     | 
| 
      
 99 
     | 
    
         
            +
                end
         
     | 
| 
      
 100 
     | 
    
         
            +
              end
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
       83 
102 
     | 
    
         
             
              describe 'decide between one-line or indented output' do
         
     | 
| 
       84 
103 
     | 
    
         
             
                Pry::Helpers.tablify_or_one_line('head', %w(ing)).should == 'head:  ing'
         
     | 
| 
       85 
104 
     | 
    
         
             
              end
         
     | 
    
        data/spec/method_spec.rb
    CHANGED
    
    | 
         @@ -95,27 +95,29 @@ describe Pry::Method do 
     | 
|
| 
       95 
95 
     | 
    
         
             
                end
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                it "should find methods that have been undef'd" do
         
     | 
| 
       98 
     | 
    
         
            -
                   
     | 
| 
      
 98 
     | 
    
         
            +
                  c = Class.new do
         
     | 
| 
       99 
99 
     | 
    
         
             
                    def self.bar
         
     | 
| 
       100 
100 
     | 
    
         
             
                      class << self; undef bar; end
         
     | 
| 
       101 
101 
     | 
    
         
             
                      binding
         
     | 
| 
       102 
102 
     | 
    
         
             
                    end
         
     | 
| 
       103 
     | 
    
         
            -
                  end 
     | 
| 
      
 103 
     | 
    
         
            +
                  end
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                  m = Pry::Method.from_binding(c.bar)
         
     | 
| 
       104 
106 
     | 
    
         
             
                  m.name.should == "bar"
         
     | 
| 
       105 
107 
     | 
    
         
             
                end
         
     | 
| 
       106 
108 
     | 
    
         | 
| 
       107 
109 
     | 
    
         
             
                # Our source_location trick doesn't work, due to https://github.com/rubinius/rubinius/issues/953
         
     | 
| 
       108 
110 
     | 
    
         
             
                unless Pry::Helpers::BaseHelpers.rbx?
         
     | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
       110 
     | 
    
         
            -
                    a = Class.new{ def  
     | 
| 
       111 
     | 
    
         
            -
                    b = Class.new(a){ def  
     | 
| 
      
 111 
     | 
    
         
            +
                   it 'should find the super method correctly' do
         
     | 
| 
      
 112 
     | 
    
         
            +
                    a = Class.new{ def gag33; binding; end; def self.line; __LINE__; end }
         
     | 
| 
      
 113 
     | 
    
         
            +
                    b = Class.new(a){ def gag33; super; end }
         
     | 
| 
       112 
114 
     | 
    
         | 
| 
       113 
     | 
    
         
            -
                    g = b.new. 
     | 
| 
      
 115 
     | 
    
         
            +
                    g = b.new.gag33
         
     | 
| 
       114 
116 
     | 
    
         
             
                    m = Pry::Method.from_binding(g)
         
     | 
| 
       115 
117 
     | 
    
         | 
| 
       116 
118 
     | 
    
         
             
                    m.owner.should == a
         
     | 
| 
       117 
119 
     | 
    
         
             
                    m.source_line.should == a.line
         
     | 
| 
       118 
     | 
    
         
            -
                    m.name.should == " 
     | 
| 
      
 120 
     | 
    
         
            +
                    m.name.should == "gag33"
         
     | 
| 
       119 
121 
     | 
    
         
             
                  end
         
     | 
| 
       120 
122 
     | 
    
         
             
                end
         
     | 
| 
       121 
123 
     | 
    
         | 
| 
         @@ -140,6 +142,21 @@ describe Pry::Method do 
     | 
|
| 
       140 
142 
     | 
    
         
             
                    m.source_line.should == a.line
         
     | 
| 
       141 
143 
     | 
    
         
             
                  end
         
     | 
| 
       142 
144 
     | 
    
         
             
                end
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                it 'should find the right method even if it was renamed and replaced' do
         
     | 
| 
      
 147 
     | 
    
         
            +
                  o = Object.new
         
     | 
| 
      
 148 
     | 
    
         
            +
                  class << o
         
     | 
| 
      
 149 
     | 
    
         
            +
                    def borscht
         
     | 
| 
      
 150 
     | 
    
         
            +
                      "nips"
         
     | 
| 
      
 151 
     | 
    
         
            +
                      binding
         
     | 
| 
      
 152 
     | 
    
         
            +
                    end
         
     | 
| 
      
 153 
     | 
    
         
            +
                    alias paella borscht
         
     | 
| 
      
 154 
     | 
    
         
            +
                    def borscht() paella end
         
     | 
| 
      
 155 
     | 
    
         
            +
                  end
         
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
                  m = Pry::Method.from_binding(o.borscht)
         
     | 
| 
      
 158 
     | 
    
         
            +
                  m.source.should == Pry::Method(o.method(:paella)).source
         
     | 
| 
      
 159 
     | 
    
         
            +
                end
         
     | 
| 
       143 
160 
     | 
    
         
             
              end
         
     | 
| 
       144 
161 
     | 
    
         | 
| 
       145 
162 
     | 
    
         
             
              describe 'super' do
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: pry
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.9. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.9.12
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: i386-mingw32
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -11,7 +11,7 @@ authors: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       13 
13 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       14 
     | 
    
         
            -
            date: 2013- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2013-02-12 00:00:00.000000000 Z
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies:
         
     | 
| 
       16 
16 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
17 
     | 
    
         
             
              name: coderay
         
     | 
| 
         @@ -184,7 +184,6 @@ extensions: [] 
     | 
|
| 
       184 
184 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       185 
185 
     | 
    
         
             
            files:
         
     | 
| 
       186 
186 
     | 
    
         
             
            - .document
         
     | 
| 
       187 
     | 
    
         
            -
            - .gemtest
         
     | 
| 
       188 
187 
     | 
    
         
             
            - .gitignore
         
     | 
| 
       189 
188 
     | 
    
         
             
            - .travis.yml
         
     | 
| 
       190 
189 
     | 
    
         
             
            - .yardopts
         
     | 
| 
         @@ -216,8 +215,8 @@ files: 
     | 
|
| 
       216 
215 
     | 
    
         
             
            - lib/pry/commands/cat/input_expression_formatter.rb
         
     | 
| 
       217 
216 
     | 
    
         
             
            - lib/pry/commands/cd.rb
         
     | 
| 
       218 
217 
     | 
    
         
             
            - lib/pry/commands/code_collector.rb
         
     | 
| 
       219 
     | 
    
         
            -
            - lib/pry/commands/deprecated_commands.rb
         
     | 
| 
       220 
218 
     | 
    
         
             
            - lib/pry/commands/disable_pry.rb
         
     | 
| 
      
 219 
     | 
    
         
            +
            - lib/pry/commands/disabled_commands.rb
         
     | 
| 
       221 
220 
     | 
    
         
             
            - lib/pry/commands/easter_eggs.rb
         
     | 
| 
       222 
221 
     | 
    
         
             
            - lib/pry/commands/edit.rb
         
     | 
| 
       223 
222 
     | 
    
         
             
            - lib/pry/commands/edit/exception_patcher.rb
         
     | 
| 
         @@ -277,6 +276,8 @@ files: 
     | 
|
| 
       277 
276 
     | 
    
         
             
            - lib/pry/hooks.rb
         
     | 
| 
       278 
277 
     | 
    
         
             
            - lib/pry/indent.rb
         
     | 
| 
       279 
278 
     | 
    
         
             
            - lib/pry/method.rb
         
     | 
| 
      
 279 
     | 
    
         
            +
            - lib/pry/method/disowned.rb
         
     | 
| 
      
 280 
     | 
    
         
            +
            - lib/pry/method/weird_method_locator.rb
         
     | 
| 
       280 
281 
     | 
    
         
             
            - lib/pry/module_candidate.rb
         
     | 
| 
       281 
282 
     | 
    
         
             
            - lib/pry/pager.rb
         
     | 
| 
       282 
283 
     | 
    
         
             
            - lib/pry/plugins.rb
         
     | 
| 
         @@ -286,7 +287,7 @@ files: 
     | 
|
| 
       286 
287 
     | 
    
         
             
            - lib/pry/rbx_path.rb
         
     | 
| 
       287 
288 
     | 
    
         
             
            - lib/pry/repl_file_loader.rb
         
     | 
| 
       288 
289 
     | 
    
         
             
            - lib/pry/rubygem.rb
         
     | 
| 
       289 
     | 
    
         
            -
            - lib/pry/ 
     | 
| 
      
 290 
     | 
    
         
            +
            - lib/pry/terminal.rb
         
     | 
| 
       290 
291 
     | 
    
         
             
            - lib/pry/test/helper.rb
         
     | 
| 
       291 
292 
     | 
    
         
             
            - lib/pry/version.rb
         
     | 
| 
       292 
293 
     | 
    
         
             
            - lib/pry/wrapped_module.rb
         
     | 
| 
         @@ -294,6 +295,7 @@ files: 
     | 
|
| 
       294 
295 
     | 
    
         
             
            - man/pry.1.html
         
     | 
| 
       295 
296 
     | 
    
         
             
            - man/pry.1.ronn
         
     | 
| 
       296 
297 
     | 
    
         
             
            - pry.gemspec
         
     | 
| 
      
 298 
     | 
    
         
            +
            - spec/Procfile
         
     | 
| 
       297 
299 
     | 
    
         
             
            - spec/cli_spec.rb
         
     | 
| 
       298 
300 
     | 
    
         
             
            - spec/code_object_spec.rb
         
     | 
| 
       299 
301 
     | 
    
         
             
            - spec/code_spec.rb
         
     | 
| 
         @@ -326,6 +328,7 @@ files: 
     | 
|
| 
       326 
328 
     | 
    
         
             
            - spec/commands/whereami_spec.rb
         
     | 
| 
       327 
329 
     | 
    
         
             
            - spec/completion_spec.rb
         
     | 
| 
       328 
330 
     | 
    
         
             
            - spec/control_d_handler_spec.rb
         
     | 
| 
      
 331 
     | 
    
         
            +
            - spec/documentation_helper_spec.rb
         
     | 
| 
       329 
332 
     | 
    
         
             
            - spec/editor_spec.rb
         
     | 
| 
       330 
333 
     | 
    
         
             
            - spec/exception_whitelist_spec.rb
         
     | 
| 
       331 
334 
     | 
    
         
             
            - spec/fixtures/candidate_helper1.rb
         
     | 
| 
         @@ -335,6 +338,7 @@ files: 
     | 
|
| 
       335 
338 
     | 
    
         
             
            - spec/fixtures/show_source_doc_examples.rb
         
     | 
| 
       336 
339 
     | 
    
         
             
            - spec/fixtures/testrc
         
     | 
| 
       337 
340 
     | 
    
         
             
            - spec/fixtures/testrcbad
         
     | 
| 
      
 341 
     | 
    
         
            +
            - spec/fixtures/whereami_helper.rb
         
     | 
| 
       338 
342 
     | 
    
         
             
            - spec/helper.rb
         
     | 
| 
       339 
343 
     | 
    
         
             
            - spec/helpers/bacon.rb
         
     | 
| 
       340 
344 
     | 
    
         
             
            - spec/helpers/mock_pry.rb
         
     | 
| 
         @@ -380,6 +384,7 @@ signing_key: 
     | 
|
| 
       380 
384 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       381 
385 
     | 
    
         
             
            summary: An IRB alternative and runtime developer console
         
     | 
| 
       382 
386 
     | 
    
         
             
            test_files:
         
     | 
| 
      
 387 
     | 
    
         
            +
            - spec/Procfile
         
     | 
| 
       383 
388 
     | 
    
         
             
            - spec/cli_spec.rb
         
     | 
| 
       384 
389 
     | 
    
         
             
            - spec/code_object_spec.rb
         
     | 
| 
       385 
390 
     | 
    
         
             
            - spec/code_spec.rb
         
     | 
| 
         @@ -412,6 +417,7 @@ test_files: 
     | 
|
| 
       412 
417 
     | 
    
         
             
            - spec/commands/whereami_spec.rb
         
     | 
| 
       413 
418 
     | 
    
         
             
            - spec/completion_spec.rb
         
     | 
| 
       414 
419 
     | 
    
         
             
            - spec/control_d_handler_spec.rb
         
     | 
| 
      
 420 
     | 
    
         
            +
            - spec/documentation_helper_spec.rb
         
     | 
| 
       415 
421 
     | 
    
         
             
            - spec/editor_spec.rb
         
     | 
| 
       416 
422 
     | 
    
         
             
            - spec/exception_whitelist_spec.rb
         
     | 
| 
       417 
423 
     | 
    
         
             
            - spec/fixtures/candidate_helper1.rb
         
     | 
| 
         @@ -421,6 +427,7 @@ test_files: 
     | 
|
| 
       421 
427 
     | 
    
         
             
            - spec/fixtures/show_source_doc_examples.rb
         
     | 
| 
       422 
428 
     | 
    
         
             
            - spec/fixtures/testrc
         
     | 
| 
       423 
429 
     | 
    
         
             
            - spec/fixtures/testrcbad
         
     | 
| 
      
 430 
     | 
    
         
            +
            - spec/fixtures/whereami_helper.rb
         
     | 
| 
       424 
431 
     | 
    
         
             
            - spec/helper.rb
         
     | 
| 
       425 
432 
     | 
    
         
             
            - spec/helpers/bacon.rb
         
     | 
| 
       426 
433 
     | 
    
         
             
            - spec/helpers/mock_pry.rb
         
     | 
    
        data/.gemtest
    DELETED
    
    | 
         
            File without changes
         
     | 
    
        data/lib/pry/terminal_info.rb
    DELETED
    
    | 
         @@ -1,48 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            class Pry::TerminalInfo
         
     | 
| 
       2 
     | 
    
         
            -
              # Return a pair of [rows, columns] which gives the size of the window.
         
     | 
| 
       3 
     | 
    
         
            -
              #
         
     | 
| 
       4 
     | 
    
         
            -
              # If the window size cannot be determined, return nil.
         
     | 
| 
       5 
     | 
    
         
            -
              def self.screen_size
         
     | 
| 
       6 
     | 
    
         
            -
                rows, cols = actual_screen_size
         
     | 
| 
       7 
     | 
    
         
            -
                if rows && cols
         
     | 
| 
       8 
     | 
    
         
            -
                  [rows.to_i, cols.to_i]
         
     | 
| 
       9 
     | 
    
         
            -
                else
         
     | 
| 
       10 
     | 
    
         
            -
                  nil
         
     | 
| 
       11 
     | 
    
         
            -
                end
         
     | 
| 
       12 
     | 
    
         
            -
              end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              # Return a screen width or a default if it fails.
         
     | 
| 
       15 
     | 
    
         
            -
              def self.width! default = 80
         
     | 
| 
       16 
     | 
    
         
            -
                (screen_size || [nil, default])[1]
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
              def self.actual_screen_size
         
     | 
| 
       20 
     | 
    
         
            -
                [
         
     | 
| 
       21 
     | 
    
         
            -
                  # Some readlines also provides get_screen_size.
         
     | 
| 
       22 
     | 
    
         
            -
                  # Readline comes before IO#winsize because jruby sometimes defaults winsize to [25, 80]
         
     | 
| 
       23 
     | 
    
         
            -
                  readline_screen_size,
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                  # io/console adds a winsize method to IO streams.
         
     | 
| 
       26 
     | 
    
         
            -
                  # rescue nil for jruby 1.7.0 [jruby/jruby#354]
         
     | 
| 
       27 
     | 
    
         
            -
                  $stdout.tty? && $stdout.respond_to?(:winsize) && ($stdout.winsize rescue nil),
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                  # Otherwise try to use the environment (this may be out of date due
         
     | 
| 
       30 
     | 
    
         
            -
                  # to window resizing, but it's better than nothing).
         
     | 
| 
       31 
     | 
    
         
            -
                  [ENV["LINES"] || ENV["ROWS"], ENV["COLUMNS"]],
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                  # If the user is running within ansicon, then use the screen size
         
     | 
| 
       34 
     | 
    
         
            -
                  # that it reports (same caveats apply as with ROWS and COLUMNS)
         
     | 
| 
       35 
     | 
    
         
            -
                  ENV['ANSICON'] =~ /\((.*)x(.*)\)/ && [$2, $1],
         
     | 
| 
       36 
     | 
    
         
            -
                ].detect do |(_, cols)|
         
     | 
| 
       37 
     | 
    
         
            -
                  cols.to_i > 0
         
     | 
| 
       38 
     | 
    
         
            -
                end
         
     | 
| 
       39 
     | 
    
         
            -
              end
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
              def self.readline_screen_size
         
     | 
| 
       42 
     | 
    
         
            -
                Readline.get_screen_size if Readline.respond_to?(:get_screen_size)
         
     | 
| 
       43 
     | 
    
         
            -
              rescue Java::JavaLang::NullPointerException
         
     | 
| 
       44 
     | 
    
         
            -
                # This rescue won't happen on jrubies later than:
         
     | 
| 
       45 
     | 
    
         
            -
                #     https://github.com/jruby/jruby/pull/436
         
     | 
| 
       46 
     | 
    
         
            -
                nil
         
     | 
| 
       47 
     | 
    
         
            -
              end
         
     | 
| 
       48 
     | 
    
         
            -
            end
         
     |