pry 0.9.4pre5-java → 0.9.4pre6-java
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/CHANGELOG +19 -3
- data/CONTRIBUTORS +9 -6
- data/TODO +0 -1
- data/lib/pry.rb +38 -32
- data/lib/pry/default_commands/input.rb +2 -2
- data/lib/pry/default_commands/introspection.rb +3 -2
- data/lib/pry/default_commands/ls.rb +2 -2
- data/lib/pry/helpers/command_helpers.rb +10 -0
- data/lib/pry/pry_class.rb +6 -2
- data/lib/pry/version.rb +1 -1
- data/pry.gemspec +12 -12
- data/test/test_default_commands/test_input.rb +2 -2
- data/test/test_pry.rb +27 -13
- data/test/test_pry_history.rb +4 -2
- metadata +15 -15
    
        data/CHANGELOG
    CHANGED
    
    | @@ -1,4 +1,20 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            8/9/2011 version 0.9.4
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            MAJOR NEW FEATURES:
         | 
| 4 | 
            +
            - JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
         | 
| 5 | 
            +
            - extended cd syntax: cd ../@x/y
         | 
| 6 | 
            +
            - play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
         | 
| 7 | 
            +
            - history saving/loading is now lightning fast
         | 
| 8 | 
            +
            - 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
         | 
| 9 | 
            +
            - 'edit' command is also, in general more intelligent
         | 
| 10 | 
            +
            - ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
         | 
| 11 | 
            +
            - new switch-to command for moving around the binding stack without exiting out of sessions
         | 
| 12 | 
            +
            - more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
         | 
| 13 | 
            +
            - major bug fix for windows systems
         | 
| 14 | 
            +
            - much better support for huge objects, should no longer hang pry (see #245)
         | 
| 15 | 
            +
            - cat --ex and edit --ex now work better
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            complete CHANGELOG:
         | 
| 2 18 | 
             
            * tempfile should end in .rb (for edit -t)
         | 
| 3 19 | 
             
            * ls output should not be in array format
         | 
| 4 20 | 
             
            * fix history saving (should not save all of Readline::HISTORY, but only what changed)
         | 
| @@ -9,8 +25,6 @@ | |
| 9 25 | 
             
            * got rid of warnings caused by stricter ruby 1.9.3 rules
         | 
| 10 26 | 
             
            * remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
         | 
| 11 27 | 
             
            * 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
         | 
| 12 | 
            -
            * changed `exit` command so that it now called Kernel#exit (after saving history)
         | 
| 13 | 
            -
            * 'quit' now behaves like 'exit-all' (and aliased to exit-all) - it breaks out of the repl loop and sets empties the binding_stack
         | 
| 14 28 | 
             
            * 'cd ..' just pops a binding off the binding_stack with special behaviour when only one binding in stack - it breaks out of the repl loop
         | 
| 15 29 | 
             
            * added switch-to command (like jump-to but doesnt unwind the stack)
         | 
| 16 30 | 
             
            * show-method and show-doc now accept multiple method names
         | 
| @@ -34,6 +48,8 @@ | |
| 34 48 | 
             
            * added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
         | 
| 35 49 | 
             
            * _pry_ now passed as 3rd parameter to :before_session hook
         | 
| 36 50 | 
             
            * ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
         | 
| 51 | 
            +
            * ls separator configurable via, e.g Pry.config.ls.separator = "  "
         | 
| 52 | 
            +
            * Pry.view_clip() now only calls inspect on a few immediates, otherwise uses the #<> syntax, which has been truncated further to exclude teh mem address, again related to #245
         | 
| 37 53 |  | 
| 38 54 | 
             
            */7/2011 version 0.9.3
         | 
| 39 55 | 
             
            * cat --ex (cats 5 lines above and below line in file where exception was raised)
         | 
    
        data/CONTRIBUTORS
    CHANGED
    
    | @@ -1,13 +1,16 @@ | |
| 1 | 
            -
                | 
| 1 | 
            +
               616	John Mair
         | 
| 2 2 | 
             
                76	Rob Gleeson
         | 
| 3 3 | 
             
                50	Lee Jarvis
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                47	Mon ouïe
         | 
| 5 5 | 
             
                18	David Palm
         | 
| 6 | 
            +
                16	Conrad Irwin
         | 
| 7 | 
            +
                14	Ryan Fitzgerald
         | 
| 6 8 | 
             
                13	epitron
         | 
| 7 | 
            -
                 8	Conrad Irwin
         | 
| 8 | 
            -
                 6	Ryan Fitzgerald
         | 
| 9 9 | 
             
                 2	Darrick Wiebe
         | 
| 10 | 
            -
                 2	 | 
| 10 | 
            +
                 2	robgleeson
         | 
| 11 11 | 
             
                 2	Eric Christopherson
         | 
| 12 | 
            -
                  | 
| 12 | 
            +
                 2	Xavier Shay
         | 
| 13 13 | 
             
                 1	Tim Pope
         | 
| 14 | 
            +
                 1	Gosha Arinich
         | 
| 15 | 
            +
                 1	Josh Cheek
         | 
| 16 | 
            +
                 1	Eero Saynatkari
         | 
    
        data/TODO
    CHANGED
    
    
    
        data/lib/pry.rb
    CHANGED
    
    | @@ -17,7 +17,7 @@ class Pry | |
| 17 17 | 
             
                end
         | 
| 18 18 | 
             
              }
         | 
| 19 19 |  | 
| 20 | 
            -
              # The default  | 
| 20 | 
            +
              # The default print
         | 
| 21 21 | 
             
              DEFAULT_PRINT = proc do |output, value|
         | 
| 22 22 | 
             
                stringified = begin
         | 
| 23 23 | 
             
                                value.pretty_inspect
         | 
| @@ -45,6 +45,11 @@ class Pry | |
| 45 45 | 
             
                end
         | 
| 46 46 | 
             
              end
         | 
| 47 47 |  | 
| 48 | 
            +
              # useful when playing with truly enormous objects
         | 
| 49 | 
            +
              CLIPPED_PRINT = proc do |output, value|
         | 
| 50 | 
            +
                output.puts "=> #{Pry.view_clip(value)}"
         | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
             | 
| 48 53 | 
             
              # Will only show the first line of the backtrace
         | 
| 49 54 | 
             
              DEFAULT_EXCEPTION_HANDLER = proc do |output, exception|
         | 
| 50 55 | 
             
                output.puts "#{exception.class}: #{exception.message}"
         | 
| @@ -53,22 +58,23 @@ class Pry | |
| 53 58 |  | 
| 54 59 | 
             
              # The default prompt; includes the target and nesting level
         | 
| 55 60 | 
             
              DEFAULT_PROMPT = [
         | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 61 | 
            +
                                proc { |target_self, nest_level, _|
         | 
| 62 | 
            +
                                  if nest_level == 0
         | 
| 63 | 
            +
                                    "pry(#{Pry.view_clip(target_self)})> "
         | 
| 64 | 
            +
                                  else
         | 
| 65 | 
            +
                                    "pry(#{Pry.view_clip(target_self)}):#{nest_level}> "
         | 
| 66 | 
            +
                                  end
         | 
| 67 | 
            +
                                },
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                                proc { |target_self, nest_level, _|
         | 
| 70 | 
            +
                                  if nest_level == 0
         | 
| 71 | 
            +
                                    "pry(#{Pry.view_clip(target_self)})* "
         | 
| 72 | 
            +
                                  else
         | 
| 73 | 
            +
                                    "pry(#{Pry.view_clip(target_self)}):#{nest_level}* "
         | 
| 74 | 
            +
                                  end
         | 
| 75 | 
            +
                                }
         | 
| 71 76 | 
             
                               ]
         | 
| 77 | 
            +
             | 
| 72 78 | 
             
              # Deal with the ^D key being pressed, different behaviour in
         | 
| 73 79 | 
             
              # different cases:
         | 
| 74 80 | 
             
              # 1) In an expression     - behave like `!` command   (clear input buffer)
         | 
| @@ -92,22 +98,22 @@ class Pry | |
| 92 98 | 
             
              SIMPLE_PROMPT = [proc { ">> " }, proc { " | " }]
         | 
| 93 99 |  | 
| 94 100 | 
             
              SHELL_PROMPT = [
         | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 101 | 
            +
                              proc { |target_self, _, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} $ " },
         | 
| 102 | 
            +
                              proc { |target_self, _, _| "pry #{Pry.view_clip(target_self)}:#{Dir.pwd} * " }
         | 
| 97 103 | 
             
                             ]
         | 
| 98 104 |  | 
| 99 105 | 
             
              # A prompt that includes the full object path as well as
         | 
| 100 106 | 
             
              # input/output (_in_ and _out_) information. Good for navigation.
         | 
| 101 107 | 
             
              NAV_PROMPT = [
         | 
| 102 | 
            -
             | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 108 | 
            +
                            proc do |_, level, pry|
         | 
| 109 | 
            +
                              tree = pry.binding_stack.map { |b| Pry.view_clip(b.eval("self")) }.join " / "
         | 
| 110 | 
            +
                              "[#{pry.input_array.size}] (pry) #{tree}: #{level}> "
         | 
| 111 | 
            +
                            end,
         | 
| 112 | 
            +
                            proc do |_, level, pry|
         | 
| 113 | 
            +
                              tree = pry.binding_stack.map { |b| Pry.view_clip(b.eval("self")) }.join " / "
         | 
| 114 | 
            +
                              "[#{pry.input_array.size}] (pry) #{tree}: #{level}* "
         | 
| 115 | 
            +
                            end,
         | 
| 116 | 
            +
                           ]
         | 
| 111 117 |  | 
| 112 118 |  | 
| 113 119 | 
             
              # As a REPL, we often want to catch any unexpected exceptions that may have
         | 
| @@ -116,15 +122,15 @@ class Pry | |
| 116 122 | 
             
              module RescuableException
         | 
| 117 123 | 
             
                def self.===(exception)
         | 
| 118 124 | 
             
                  case exception
         | 
| 119 | 
            -
             | 
| 120 | 
            -
             | 
| 125 | 
            +
                    # Catch when the user hits ^C (Interrupt < SignalException), and assume
         | 
| 126 | 
            +
                    # that they just wanted to stop the in-progress command (just like bash etc.)
         | 
| 121 127 | 
             
                  when Interrupt
         | 
| 122 128 | 
             
                    true
         | 
| 123 | 
            -
             | 
| 124 | 
            -
             | 
| 129 | 
            +
                    # Don't catch signals (particularly not SIGTERM) as these are unlikely to be
         | 
| 130 | 
            +
                    # intended for pry itself. We should also make sure that Kernel#exit works.
         | 
| 125 131 | 
             
                  when SystemExit, SignalException
         | 
| 126 132 | 
             
                    false
         | 
| 127 | 
            -
             | 
| 133 | 
            +
                    # All other exceptions will be caught.
         | 
| 128 134 | 
             
                  else
         | 
| 129 135 | 
             
                    true
         | 
| 130 136 | 
             
                  end
         | 
| @@ -12,7 +12,7 @@ class Pry | |
| 12 12 | 
             
                    render_output(false, 1, Pry.color ? CodeRay.scan(eval_string, :ruby).term : eval_string)
         | 
| 13 13 | 
             
                  end
         | 
| 14 14 |  | 
| 15 | 
            -
                  command(/amend-line | 
| 15 | 
            +
                  command(/amend-line(?: (-?\d+)(?:\.\.(-?\d+))?)?/, "Amend a line of input in multi-line mode. Type `amend-line --help` for more information. Aliases %",
         | 
| 16 16 | 
             
                          :interpolate => false, :listing => "amend-line")  do |*args|
         | 
| 17 17 | 
             
                    start_line_number, end_line_number, replacement_line = *args
         | 
| 18 18 |  | 
| @@ -52,7 +52,7 @@ e.g amend-line puts 'hello again'   # no line number modifies immediately preced | |
| 52 52 | 
             
                    run "show-input"
         | 
| 53 53 | 
             
                  end
         | 
| 54 54 |  | 
| 55 | 
            -
                  alias_command(/%.?(-?\d+)?(?:\.\.(-?\d+))?/, /amend-line | 
| 55 | 
            +
                  alias_command(/%.?(-?\d+)?(?:\.\.(-?\d+))?/, /amend-line(?: (-?\d+)(?:\.\.(-?\d+))?)?/, "")
         | 
| 56 56 |  | 
| 57 57 | 
             
                  command "play", "Play back a string variable or a method or a file as input. Type `play --help` for more information." do |*args|
         | 
| 58 58 | 
             
                    opts = Slop.parse!(args) do |opt|
         | 
| @@ -146,8 +146,9 @@ class Pry | |
| 146 146 | 
             
                      should_reload_at_top_level = opts[:n] ? false : true
         | 
| 147 147 |  | 
| 148 148 | 
             
                    elsif opts.t? || args.first.nil?
         | 
| 149 | 
            -
                      file_name =  | 
| 150 | 
            -
             | 
| 149 | 
            +
                      file_name = temp_file do |f|
         | 
| 150 | 
            +
                        f.puts eval_string  if !eval_string.empty?
         | 
| 151 | 
            +
                      end
         | 
| 151 152 | 
             
                      line = eval_string.lines.count + 1
         | 
| 152 153 | 
             
                      should_reload_locally = opts[:n] ? false : true
         | 
| 153 154 | 
             
                    else
         | 
| @@ -198,7 +198,7 @@ Shows local and instance variables by default. | |
| 198 198 | 
             
                          if !v.first.empty?
         | 
| 199 199 | 
             
                            text <<  "#{k}:\n--\n"
         | 
| 200 200 | 
             
                            filtered_list = v.first.grep options[:grep]
         | 
| 201 | 
            -
                            text << text().send(ls_color_map[k], (filtered_list.join( | 
| 201 | 
            +
                            text << text().send(ls_color_map[k], (filtered_list.join(Pry.config.ls.separator)))
         | 
| 202 202 | 
             
                            text << "\n\n"
         | 
| 203 203 | 
             
                          end
         | 
| 204 204 | 
             
                        end
         | 
| @@ -212,7 +212,7 @@ Shows local and instance variables by default. | |
| 212 212 | 
             
                                            # plain
         | 
| 213 213 | 
             
                                          else
         | 
| 214 214 | 
             
                                            list = info.sort_by { |k, v| v.last }.map { |k, v| [k, [v.first.grep(options[:grep])], v.last] }
         | 
| 215 | 
            -
                                            list = list.each { |k, v| text << text().send(ls_color_map[k], v.first.join( | 
| 215 | 
            +
                                            list = list.each { |k, v| text << text().send(ls_color_map[k], v.first.join(Pry.config.ls.separator)); text << Pry.config.ls.separator }
         | 
| 216 216 |  | 
| 217 217 | 
             
                                            if !options[:f]
         | 
| 218 218 | 
             
                                              stagger_output(text)
         | 
| @@ -39,6 +39,16 @@ class Pry | |
| 39 39 | 
             
                    end
         | 
| 40 40 | 
             
                  end
         | 
| 41 41 |  | 
| 42 | 
            +
                  # Open a temp file and yield it to the block, closing it after
         | 
| 43 | 
            +
                  # @return [String] The path of the temp file
         | 
| 44 | 
            +
                  def temp_file
         | 
| 45 | 
            +
                    file = Tempfile.new(["tmp", ".rb"])
         | 
| 46 | 
            +
                    yield file
         | 
| 47 | 
            +
                    file.path
         | 
| 48 | 
            +
                  ensure
         | 
| 49 | 
            +
                    file.close
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
             | 
| 42 52 | 
             
                  ########### RBX HELPERS #############
         | 
| 43 53 | 
             
                  def is_core_rbx_path?(path)
         | 
| 44 54 | 
             
                    rbx? &&
         | 
    
        data/lib/pry/pry_class.rb
    CHANGED
    
    | @@ -106,11 +106,13 @@ class Pry | |
| 106 106 | 
             
                elsif TOPLEVEL_BINDING.eval('self') == obj
         | 
| 107 107 | 
             
                  # special case for 'main' object :)
         | 
| 108 108 | 
             
                  obj.inspect
         | 
| 109 | 
            +
                elsif [String, Numeric, Symbol, nil, true, false].any? { |v| v === obj } && obj.inspect.length <= max_length
         | 
| 110 | 
            +
                  obj.inspect
         | 
| 109 111 | 
             
                else
         | 
| 110 | 
            -
                  "#<#{obj.class} | 
| 112 | 
            +
                  "#<#{obj.class}>"#:%x>"# % (obj.object_id << 1)
         | 
| 111 113 | 
             
                end
         | 
| 112 114 |  | 
| 113 | 
            -
              rescue
         | 
| 115 | 
            +
              rescue RescuableException
         | 
| 114 116 | 
             
                "unknown"
         | 
| 115 117 | 
             
              end
         | 
| 116 118 |  | 
| @@ -210,6 +212,8 @@ class Pry | |
| 210 212 | 
             
                Pry.config.ls.method_color = :green
         | 
| 211 213 | 
             
                Pry.config.ls.instance_method_color = :bright_green
         | 
| 212 214 | 
             
                Pry.config.ls.constant_color = :yellow
         | 
| 215 | 
            +
             | 
| 216 | 
            +
                Pry.config.ls.separator = "  "
         | 
| 213 217 | 
             
              end
         | 
| 214 218 |  | 
| 215 219 | 
             
              # Set all the configurable options back to their default values
         | 
    
        data/lib/pry/version.rb
    CHANGED
    
    
    
        data/pry.gemspec
    CHANGED
    
    | @@ -2,20 +2,20 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name = %q{pry}
         | 
| 5 | 
            -
              s.version = "0.9. | 
| 5 | 
            +
              s.version = "0.9.4"
         | 
| 6 6 |  | 
| 7 | 
            -
              s.required_rubygems_version = Gem::Requirement.new(" | 
| 8 | 
            -
              s.authors = [ | 
| 9 | 
            -
              s.date = %q{2011-09- | 
| 7 | 
            +
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 8 | 
            +
              s.authors = ["John Mair (banisterfiend)"]
         | 
| 9 | 
            +
              s.date = %q{2011-09-08}
         | 
| 10 10 | 
             
              s.description = %q{An IRB alternative and runtime developer console}
         | 
| 11 11 | 
             
              s.email = %q{jrmair@gmail.com}
         | 
| 12 | 
            -
              s.executables = [ | 
| 13 | 
            -
              s.files = [ | 
| 12 | 
            +
              s.executables = ["pry"]
         | 
| 13 | 
            +
              s.files = [".document", ".gemtest", ".gitignore", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/command_context.rb", "lib/pry/command_processor.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/basic.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/documentation.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/input.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/shell.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/extended_commands/user_command_api.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/version.rb", "pry.gemspec", "test/helper.rb", "test/test_command_helpers.rb", "test/test_command_processor.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_shell.rb", "test/test_history_array.rb", "test/test_pry.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/testrc", "wiki/Customizing-pry.md", "wiki/Home.md"]
         | 
| 14 14 | 
             
              s.homepage = %q{http://pry.github.com}
         | 
| 15 | 
            -
              s.require_paths = [ | 
| 16 | 
            -
              s.rubygems_version = %q{1. | 
| 15 | 
            +
              s.require_paths = ["lib"]
         | 
| 16 | 
            +
              s.rubygems_version = %q{1.7.2}
         | 
| 17 17 | 
             
              s.summary = %q{An IRB alternative and runtime developer console}
         | 
| 18 | 
            -
              s.test_files = [ | 
| 18 | 
            +
              s.test_files = ["test/helper.rb", "test/test_command_helpers.rb", "test/test_command_processor.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_shell.rb", "test/test_history_array.rb", "test/test_pry.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/testrc"]
         | 
| 19 19 |  | 
| 20 20 | 
             
              if s.respond_to? :specification_version then
         | 
| 21 21 | 
             
                s.specification_version = 3
         | 
| @@ -24,14 +24,14 @@ Gem::Specification.new do |s| | |
| 24 24 | 
             
                  s.add_runtime_dependency(%q<ruby_parser>, [">= 2.0.5"])
         | 
| 25 25 | 
             
                  s.add_runtime_dependency(%q<coderay>, [">= 0.9.8"])
         | 
| 26 26 | 
             
                  s.add_runtime_dependency(%q<slop>, ["~> 2.1.0"])
         | 
| 27 | 
            -
                  s.add_runtime_dependency(%q<method_source>, [">= 0.6. | 
| 27 | 
            +
                  s.add_runtime_dependency(%q<method_source>, [">= 0.6.5"])
         | 
| 28 28 | 
             
                  s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
         | 
| 29 29 | 
             
                  s.add_development_dependency(%q<open4>, ["~> 1.0.1"])
         | 
| 30 30 | 
             
                else
         | 
| 31 31 | 
             
                  s.add_dependency(%q<ruby_parser>, [">= 2.0.5"])
         | 
| 32 32 | 
             
                  s.add_dependency(%q<coderay>, [">= 0.9.8"])
         | 
| 33 33 | 
             
                  s.add_dependency(%q<slop>, ["~> 2.1.0"])
         | 
| 34 | 
            -
                  s.add_dependency(%q<method_source>, [">= 0.6. | 
| 34 | 
            +
                  s.add_dependency(%q<method_source>, [">= 0.6.5"])
         | 
| 35 35 | 
             
                  s.add_dependency(%q<bacon>, [">= 1.1.0"])
         | 
| 36 36 | 
             
                  s.add_dependency(%q<open4>, ["~> 1.0.1"])
         | 
| 37 37 | 
             
                end
         | 
| @@ -39,7 +39,7 @@ Gem::Specification.new do |s| | |
| 39 39 | 
             
                s.add_dependency(%q<ruby_parser>, [">= 2.0.5"])
         | 
| 40 40 | 
             
                s.add_dependency(%q<coderay>, [">= 0.9.8"])
         | 
| 41 41 | 
             
                s.add_dependency(%q<slop>, ["~> 2.1.0"])
         | 
| 42 | 
            -
                s.add_dependency(%q<method_source>, [">= 0.6. | 
| 42 | 
            +
                s.add_dependency(%q<method_source>, [">= 0.6.5"])
         | 
| 43 43 | 
             
                s.add_dependency(%q<bacon>, [">= 1.1.0"])
         | 
| 44 44 | 
             
                s.add_dependency(%q<open4>, ["~> 1.0.1"])
         | 
| 45 45 | 
             
              end
         | 
| @@ -2,7 +2,7 @@ require 'helper' | |
| 2 2 |  | 
| 3 3 | 
             
            describe "Pry::DefaultCommands::Input" do
         | 
| 4 4 |  | 
| 5 | 
            -
              describe "amend-line | 
| 5 | 
            +
              describe "amend-line" do
         | 
| 6 6 | 
             
                it 'should correctly amend the last line of input when no line number specified ' do
         | 
| 7 7 | 
             
                  str_output = StringIO.new
         | 
| 8 8 | 
             
                  redirect_pry_io(InputTester.new("def hello", "puts :bing", "amend-line puts :blah", "show-input", "exit-all"), str_output) do
         | 
| @@ -104,7 +104,7 @@ describe "Pry::DefaultCommands::Input" do | |
| 104 104 |  | 
| 105 105 | 
             
                it 'should correctly amend the specified range of lines, using negative numbers in range' do
         | 
| 106 106 | 
             
                  str_output = StringIO.new
         | 
| 107 | 
            -
                  redirect_pry_io(InputTester.new("def hello", "puts :bing", "puts :bang", "puts :boast", "puts :heart", "amend-line | 
| 107 | 
            +
                  redirect_pry_io(InputTester.new("def hello", "puts :bing", "puts :bang", "puts :boast", "puts :heart", "amend-line 2..-2 puts :bong", "show-input", "exit-all"), str_output) do
         | 
| 108 108 | 
             
                    pry
         | 
| 109 109 | 
             
                  end
         | 
| 110 110 | 
             
                  str_output.string.should =~ /\d+: def hello\n\d+: puts :bong\n\d+: puts :heart/
         | 
    
        data/test/test_pry.rb
    CHANGED
    
    | @@ -1131,23 +1131,37 @@ describe Pry do | |
| 1131 1131 | 
             
                            o = Object.new
         | 
| 1132 1132 | 
             
                            def o.inspect; "a" * VC_MAX_LENGTH; end
         | 
| 1133 1133 |  | 
| 1134 | 
            -
                            Pry.view_clip(o, VC_MAX_LENGTH).should =~ / | 
| 1134 | 
            +
                            Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
         | 
| 1135 1135 | 
             
                          end
         | 
| 1136 1136 | 
             
                        end
         | 
| 1137 1137 |  | 
| 1138 | 
            -
                         | 
| 1139 | 
            -
             | 
| 1140 | 
            -
             | 
| 1141 | 
            -
             | 
| 1142 | 
            -
             | 
| 1143 | 
            -
                         | 
| 1138 | 
            +
                        describe "given the 'main' object" do
         | 
| 1139 | 
            +
                          it "returns the #inspect of main (special case)" do
         | 
| 1140 | 
            +
                            o = TOPLEVEL_BINDING.eval('self')
         | 
| 1141 | 
            +
                            Pry.view_clip(o, VC_MAX_LENGTH).should == o.inspect
         | 
| 1142 | 
            +
                          end
         | 
| 1143 | 
            +
                        end
         | 
| 1144 | 
            +
             | 
| 1145 | 
            +
                        describe "given the a Numeric, String or Symbol object" do
         | 
| 1146 | 
            +
                          [1, 2.0, -5, "hello", :test].each do |o|
         | 
| 1147 | 
            +
                            it "returns the #inspect of the special-cased immediate object: #{o}" do
         | 
| 1148 | 
            +
                              Pry.view_clip(o, VC_MAX_LENGTH).should == o.inspect
         | 
| 1149 | 
            +
                            end
         | 
| 1150 | 
            +
                          end
         | 
| 1151 | 
            +
             | 
| 1152 | 
            +
                          # only testing with String here :)
         | 
| 1153 | 
            +
                          it "returns #<> format of the special-cased immediate object if #inspect is longer than maximum" do
         | 
| 1154 | 
            +
                            o = "o" * (VC_MAX_LENGTH + 1)
         | 
| 1155 | 
            +
                            Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<String/
         | 
| 1156 | 
            +
                          end
         | 
| 1157 | 
            +
                        end
         | 
| 1144 1158 |  | 
| 1145 1159 | 
             
                        describe "given an object with an #inspect string as long as the maximum specified" do
         | 
| 1146 1160 | 
             
                          it "returns the #<> format of the object (never use inspect)" do
         | 
| 1147 1161 | 
             
                            o = Object.new
         | 
| 1148 1162 | 
             
                            def o.inspect; "a" * VC_MAX_LENGTH; end
         | 
| 1149 1163 |  | 
| 1150 | 
            -
                            Pry.view_clip(o, VC_MAX_LENGTH).should =~ / | 
| 1164 | 
            +
                            Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
         | 
| 1151 1165 | 
             
                          end
         | 
| 1152 1166 | 
             
                        end
         | 
| 1153 1167 |  | 
| @@ -1158,7 +1172,7 @@ describe Pry do | |
| 1158 1172 | 
             
                              o = Object.new
         | 
| 1159 1173 | 
             
                              def o.inspect; "a" * (VC_MAX_LENGTH + 1); end
         | 
| 1160 1174 |  | 
| 1161 | 
            -
                              Pry.view_clip(o, VC_MAX_LENGTH).should =~ / | 
| 1175 | 
            +
                              Pry.view_clip(o, VC_MAX_LENGTH).should =~ /#<Object/
         | 
| 1162 1176 | 
             
                            end
         | 
| 1163 1177 | 
             
                          end
         | 
| 1164 1178 |  | 
| @@ -1167,8 +1181,8 @@ describe Pry do | |
| 1167 1181 | 
             
                              it "returns a string of the #<class name:object idish> format" do
         | 
| 1168 1182 | 
             
                                c, m = Class.new, Module.new
         | 
| 1169 1183 |  | 
| 1170 | 
            -
                                Pry.view_clip(c, VC_MAX_LENGTH).should =~ / | 
| 1171 | 
            -
                                Pry.view_clip(m, VC_MAX_LENGTH).should =~ / | 
| 1184 | 
            +
                                Pry.view_clip(c, VC_MAX_LENGTH).should =~ /#<Class/
         | 
| 1185 | 
            +
                                Pry.view_clip(m, VC_MAX_LENGTH).should =~ /#<Module/
         | 
| 1172 1186 | 
             
                              end
         | 
| 1173 1187 | 
             
                            end
         | 
| 1174 1188 |  | 
| @@ -1180,8 +1194,8 @@ describe Pry do | |
| 1180 1194 | 
             
                                def c.name; "a" * (VC_MAX_LENGTH + 1); end
         | 
| 1181 1195 | 
             
                                def m.name; "a" * (VC_MAX_LENGTH + 1); end
         | 
| 1182 1196 |  | 
| 1183 | 
            -
                                Pry.view_clip(c, VC_MAX_LENGTH).should =~ / | 
| 1184 | 
            -
                                Pry.view_clip(m, VC_MAX_LENGTH).should =~ / | 
| 1197 | 
            +
                                Pry.view_clip(c, VC_MAX_LENGTH).should =~ /#<Class/
         | 
| 1198 | 
            +
                                Pry.view_clip(m, VC_MAX_LENGTH).should =~ /#<Module/
         | 
| 1185 1199 | 
             
                              end
         | 
| 1186 1200 | 
             
                            end
         | 
| 1187 1201 |  | 
    
        data/test/test_pry_history.rb
    CHANGED
    
    | @@ -5,7 +5,8 @@ describe Pry do | |
| 5 5 |  | 
| 6 6 | 
             
              before do
         | 
| 7 7 | 
             
                Pry.history.clear
         | 
| 8 | 
            -
                @ | 
| 8 | 
            +
                @file = Tempfile.new(["tmp", ".pry_history"])
         | 
| 9 | 
            +
                @hist = @file.path
         | 
| 9 10 | 
             
                File.open(@hist, 'w') {|f| f << "1\n2\n3\n" }
         | 
| 10 11 | 
             
                @old_hist = Pry.config.history.file
         | 
| 11 12 | 
             
                Pry.config.history.file = @hist
         | 
| @@ -13,7 +14,8 @@ describe Pry do | |
| 13 14 | 
             
              end
         | 
| 14 15 |  | 
| 15 16 | 
             
              after do
         | 
| 16 | 
            -
                 | 
| 17 | 
            +
                @file.close
         | 
| 18 | 
            +
                File.unlink(@hist)
         | 
| 17 19 | 
             
                Pry.config.history.file = @old_hist
         | 
| 18 20 | 
             
              end
         | 
| 19 21 |  | 
    
        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.4pre6
         | 
| 5 5 | 
             
              prerelease: 5
         | 
| 6 6 | 
             
            platform: java
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -13,7 +13,7 @@ date: 2011-09-08 00:00:00.000000000 Z | |
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: ruby_parser
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &70110119728380 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: 2.0.5
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *70110119728380
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: coderay
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &70110119727280 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ! '>='
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: 0.9.8
         | 
| 33 33 | 
             
              type: :runtime
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *70110119727280
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: slop
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &70110119726600 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ~>
         | 
| @@ -43,10 +43,10 @@ dependencies: | |
| 43 43 | 
             
                    version: 2.1.0
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *70110119726600
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: method_source
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &70110119725860 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ! '>='
         | 
| @@ -54,10 +54,10 @@ dependencies: | |
| 54 54 | 
             
                    version: 0.6.5
         | 
| 55 55 | 
             
              type: :runtime
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *70110119725860
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: bacon
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &70110119724760 !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                none: false
         | 
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - ! '>='
         | 
| @@ -65,10 +65,10 @@ dependencies: | |
| 65 65 | 
             
                    version: 1.1.0
         | 
| 66 66 | 
             
              type: :development
         | 
| 67 67 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 68 | 
            +
              version_requirements: *70110119724760
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: open4
         | 
| 71 | 
            -
              requirement: & | 
| 71 | 
            +
              requirement: &70110119723740 !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                none: false
         | 
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - ~>
         | 
| @@ -76,10 +76,10 @@ dependencies: | |
| 76 76 | 
             
                    version: 1.0.1
         | 
| 77 77 | 
             
              type: :development
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 | 
            -
              version_requirements: * | 
| 79 | 
            +
              version_requirements: *70110119723740
         | 
| 80 80 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 81 81 | 
             
              name: spoon
         | 
| 82 | 
            -
              requirement: & | 
| 82 | 
            +
              requirement: &70110119722960 !ruby/object:Gem::Requirement
         | 
| 83 83 | 
             
                none: false
         | 
| 84 84 | 
             
                requirements:
         | 
| 85 85 | 
             
                - - ! '>='
         | 
| @@ -87,7 +87,7 @@ dependencies: | |
| 87 87 | 
             
                    version: 0.0.1
         | 
| 88 88 | 
             
              type: :runtime
         | 
| 89 89 | 
             
              prerelease: false
         | 
| 90 | 
            -
              version_requirements: * | 
| 90 | 
            +
              version_requirements: *70110119722960
         | 
| 91 91 | 
             
            description: An IRB alternative and runtime developer console
         | 
| 92 92 | 
             
            email: jrmair@gmail.com
         | 
| 93 93 | 
             
            executables:
         |