pry 0.12.2-java → 0.13.0-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.
Files changed (158) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +110 -1
  3. data/LICENSE +1 -1
  4. data/README.md +331 -269
  5. data/bin/pry +5 -0
  6. data/lib/pry.rb +133 -119
  7. data/lib/pry/basic_object.rb +8 -4
  8. data/lib/pry/block_command.rb +22 -0
  9. data/lib/pry/class_command.rb +194 -0
  10. data/lib/pry/cli.rb +40 -31
  11. data/lib/pry/code.rb +39 -27
  12. data/lib/pry/code/code_file.rb +28 -24
  13. data/lib/pry/code/code_range.rb +4 -2
  14. data/lib/pry/code/loc.rb +15 -8
  15. data/lib/pry/code_object.rb +40 -38
  16. data/lib/pry/color_printer.rb +47 -46
  17. data/lib/pry/command.rb +166 -369
  18. data/lib/pry/command_set.rb +76 -73
  19. data/lib/pry/command_state.rb +31 -0
  20. data/lib/pry/commands/amend_line.rb +86 -81
  21. data/lib/pry/commands/bang.rb +18 -14
  22. data/lib/pry/commands/bang_pry.rb +15 -11
  23. data/lib/pry/commands/cat.rb +61 -54
  24. data/lib/pry/commands/cat/abstract_formatter.rb +23 -18
  25. data/lib/pry/commands/cat/exception_formatter.rb +71 -60
  26. data/lib/pry/commands/cat/file_formatter.rb +55 -49
  27. data/lib/pry/commands/cat/input_expression_formatter.rb +35 -30
  28. data/lib/pry/commands/cd.rb +40 -35
  29. data/lib/pry/commands/change_inspector.rb +29 -22
  30. data/lib/pry/commands/change_prompt.rb +44 -39
  31. data/lib/pry/commands/clear_screen.rb +16 -10
  32. data/lib/pry/commands/code_collector.rb +148 -133
  33. data/lib/pry/commands/disable_pry.rb +23 -19
  34. data/lib/pry/commands/easter_eggs.rb +19 -30
  35. data/lib/pry/commands/edit.rb +184 -161
  36. data/lib/pry/commands/edit/exception_patcher.rb +21 -17
  37. data/lib/pry/commands/edit/file_and_line_locator.rb +34 -23
  38. data/lib/pry/commands/exit.rb +39 -35
  39. data/lib/pry/commands/exit_all.rb +24 -20
  40. data/lib/pry/commands/exit_program.rb +20 -16
  41. data/lib/pry/commands/find_method.rb +168 -160
  42. data/lib/pry/commands/fix_indent.rb +16 -12
  43. data/lib/pry/commands/help.rb +140 -133
  44. data/lib/pry/commands/hist.rb +151 -150
  45. data/lib/pry/commands/import_set.rb +20 -16
  46. data/lib/pry/commands/jump_to.rb +25 -21
  47. data/lib/pry/commands/list_inspectors.rb +35 -28
  48. data/lib/pry/commands/ls.rb +124 -102
  49. data/lib/pry/commands/ls/constants.rb +59 -42
  50. data/lib/pry/commands/ls/formatter.rb +50 -46
  51. data/lib/pry/commands/ls/globals.rb +38 -34
  52. data/lib/pry/commands/ls/grep.rb +17 -13
  53. data/lib/pry/commands/ls/instance_vars.rb +29 -27
  54. data/lib/pry/commands/ls/interrogatable.rb +18 -12
  55. data/lib/pry/commands/ls/jruby_hacks.rb +47 -41
  56. data/lib/pry/commands/ls/local_names.rb +26 -22
  57. data/lib/pry/commands/ls/local_vars.rb +38 -28
  58. data/lib/pry/commands/ls/ls_entity.rb +47 -51
  59. data/lib/pry/commands/ls/methods.rb +44 -43
  60. data/lib/pry/commands/ls/methods_helper.rb +46 -42
  61. data/lib/pry/commands/ls/self_methods.rb +23 -22
  62. data/lib/pry/commands/nesting.rb +21 -17
  63. data/lib/pry/commands/play.rb +93 -82
  64. data/lib/pry/commands/pry_backtrace.rb +24 -17
  65. data/lib/pry/commands/pry_version.rb +15 -11
  66. data/lib/pry/commands/raise_up.rb +27 -22
  67. data/lib/pry/commands/reload_code.rb +60 -48
  68. data/lib/pry/commands/reset.rb +16 -12
  69. data/lib/pry/commands/ri.rb +55 -45
  70. data/lib/pry/commands/save_file.rb +45 -43
  71. data/lib/pry/commands/shell_command.rb +51 -51
  72. data/lib/pry/commands/shell_mode.rb +21 -17
  73. data/lib/pry/commands/show_doc.rb +81 -68
  74. data/lib/pry/commands/show_info.rb +189 -171
  75. data/lib/pry/commands/show_input.rb +16 -11
  76. data/lib/pry/commands/show_source.rb +109 -45
  77. data/lib/pry/commands/stat.rb +35 -31
  78. data/lib/pry/commands/switch_to.rb +21 -15
  79. data/lib/pry/commands/toggle_color.rb +20 -16
  80. data/lib/pry/commands/watch_expression.rb +89 -86
  81. data/lib/pry/commands/watch_expression/expression.rb +32 -27
  82. data/lib/pry/commands/whereami.rb +156 -148
  83. data/lib/pry/commands/wtf.rb +75 -50
  84. data/lib/pry/config.rb +311 -25
  85. data/lib/pry/config/attributable.rb +22 -0
  86. data/lib/pry/config/lazy_value.rb +29 -0
  87. data/lib/pry/config/memoized_value.rb +34 -0
  88. data/lib/pry/config/value.rb +24 -0
  89. data/lib/pry/control_d_handler.rb +28 -0
  90. data/lib/pry/core_extensions.rb +9 -7
  91. data/lib/pry/editor.rb +48 -21
  92. data/lib/pry/env.rb +18 -0
  93. data/lib/pry/exception_handler.rb +43 -0
  94. data/lib/pry/exceptions.rb +13 -16
  95. data/lib/pry/forwardable.rb +5 -1
  96. data/lib/pry/helpers.rb +2 -0
  97. data/lib/pry/helpers/base_helpers.rb +68 -197
  98. data/lib/pry/helpers/command_helpers.rb +50 -61
  99. data/lib/pry/helpers/documentation_helpers.rb +20 -13
  100. data/lib/pry/helpers/options_helpers.rb +14 -7
  101. data/lib/pry/helpers/platform.rb +7 -5
  102. data/lib/pry/helpers/table.rb +33 -26
  103. data/lib/pry/helpers/text.rb +17 -14
  104. data/lib/pry/history.rb +48 -56
  105. data/lib/pry/hooks.rb +21 -12
  106. data/lib/pry/indent.rb +54 -50
  107. data/lib/pry/input_completer.rb +248 -230
  108. data/lib/pry/input_lock.rb +8 -9
  109. data/lib/pry/inspector.rb +36 -24
  110. data/lib/pry/last_exception.rb +45 -45
  111. data/lib/pry/method.rb +141 -94
  112. data/lib/pry/method/disowned.rb +16 -4
  113. data/lib/pry/method/patcher.rb +12 -3
  114. data/lib/pry/method/weird_method_locator.rb +68 -44
  115. data/lib/pry/object_path.rb +33 -25
  116. data/lib/pry/output.rb +121 -35
  117. data/lib/pry/pager.rb +41 -42
  118. data/lib/pry/plugins.rb +25 -8
  119. data/lib/pry/prompt.rb +123 -54
  120. data/lib/pry/pry_class.rb +61 -98
  121. data/lib/pry/pry_instance.rb +217 -215
  122. data/lib/pry/repl.rb +18 -22
  123. data/lib/pry/repl_file_loader.rb +27 -21
  124. data/lib/pry/ring.rb +11 -6
  125. data/lib/pry/slop.rb +574 -563
  126. data/lib/pry/slop/commands.rb +164 -169
  127. data/lib/pry/slop/option.rb +172 -168
  128. data/lib/pry/syntax_highlighter.rb +26 -0
  129. data/lib/pry/system_command_handler.rb +17 -0
  130. data/lib/pry/testable.rb +59 -61
  131. data/lib/pry/testable/evalable.rb +21 -12
  132. data/lib/pry/testable/mockable.rb +18 -10
  133. data/lib/pry/testable/pry_tester.rb +71 -56
  134. data/lib/pry/testable/utility.rb +29 -21
  135. data/lib/pry/testable/variables.rb +49 -43
  136. data/lib/pry/version.rb +3 -1
  137. data/lib/pry/warning.rb +27 -0
  138. data/lib/pry/wrapped_module.rb +51 -42
  139. data/lib/pry/wrapped_module/candidate.rb +21 -14
  140. metadata +31 -30
  141. data/lib/pry/commands.rb +0 -6
  142. data/lib/pry/commands/disabled_commands.rb +0 -2
  143. data/lib/pry/commands/gem_cd.rb +0 -26
  144. data/lib/pry/commands/gem_install.rb +0 -32
  145. data/lib/pry/commands/gem_list.rb +0 -33
  146. data/lib/pry/commands/gem_open.rb +0 -29
  147. data/lib/pry/commands/gem_readme.rb +0 -25
  148. data/lib/pry/commands/gem_search.rb +0 -40
  149. data/lib/pry/commands/gem_stats.rb +0 -83
  150. data/lib/pry/commands/gist.rb +0 -102
  151. data/lib/pry/commands/install_command.rb +0 -54
  152. data/lib/pry/config/behavior.rb +0 -255
  153. data/lib/pry/config/convenience.rb +0 -28
  154. data/lib/pry/config/default.rb +0 -159
  155. data/lib/pry/config/memoization.rb +0 -48
  156. data/lib/pry/platform.rb +0 -91
  157. data/lib/pry/rubygem.rb +0 -84
  158. data/lib/pry/terminal.rb +0 -91
@@ -1,50 +1,54 @@
1
- class Pry
2
- class Command::Ls < Pry::ClassCommand
3
- class Formatter
4
- attr_writer :grep
5
- attr_reader :_pry_
6
-
7
- def initialize(_pry_)
8
- @_pry_ = _pry_
9
- @target = _pry_.current_context
10
- @default_switch = nil
11
- end
12
-
13
- def write_out
14
- return false unless correct_opts?
15
-
16
- output_self
17
- end
18
-
19
- private
20
-
21
- def color(type, str)
22
- Pry::Helpers::Text.send _pry_.config.ls["#{type}_color"], str
23
- end
24
-
25
- # Add a new section to the output.
26
- # Outputs nothing if the section would be empty.
27
- def output_section(heading, body)
28
- return '' if body.compact.empty?
1
+ # frozen_string_literal: true
29
2
 
30
- fancy_heading = Pry::Helpers::Text.bold(color(:heading, heading))
31
- Pry::Helpers.tablify_or_one_line(fancy_heading, body, @_pry_.config)
32
- end
33
-
34
- def format_value(value)
35
- Pry::ColorPrinter.pp(value, '')
36
- end
37
-
38
- def correct_opts?
39
- @default_switch
40
- end
41
-
42
- def output_self
43
- raise NotImplementedError
44
- end
45
-
46
- def grep
47
- @grep || proc { |x| x }
3
+ class Pry
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ class Formatter
7
+ attr_writer :grep
8
+ attr_reader :pry_instance
9
+
10
+ def initialize(pry_instance)
11
+ @pry_instance = pry_instance
12
+ @target = pry_instance.current_context
13
+ @default_switch = nil
14
+ end
15
+
16
+ def write_out
17
+ return false unless correct_opts?
18
+
19
+ output_self
20
+ end
21
+
22
+ private
23
+
24
+ def color(type, str)
25
+ Pry::Helpers::Text.send pry_instance.config.ls.send("#{type}_color"), str
26
+ end
27
+
28
+ # Add a new section to the output.
29
+ # Outputs nothing if the section would be empty.
30
+ def output_section(heading, body)
31
+ return '' if body.compact.empty?
32
+
33
+ fancy_heading = Pry::Helpers::Text.bold(color(:heading, heading))
34
+ Pry::Helpers.tablify_or_one_line(fancy_heading, body, @pry_instance)
35
+ end
36
+
37
+ def format_value(value)
38
+ Pry::ColorPrinter.pp(value, ''.dup)
39
+ end
40
+
41
+ def correct_opts?
42
+ @default_switch
43
+ end
44
+
45
+ def output_self
46
+ raise NotImplementedError
47
+ end
48
+
49
+ def grep
50
+ @grep || proc { |x| x }
51
+ end
48
52
  end
49
53
  end
50
54
  end
@@ -1,43 +1,47 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Pry
2
- class Command::Ls < Pry::ClassCommand
3
- class Globals < Pry::Command::Ls::Formatter
4
- # Taken from "puts global_variables.inspect".
5
- BUILTIN_GLOBALS =
6
- %w($" $$ $* $, $-0 $-F $-I $-K $-W $-a $-d $-i $-l $-p $-v $-w $. $/ $\\
7
- $: $; $< $= $> $0 $ARGV $CONSOLE $DEBUG $DEFAULT_INPUT $DEFAULT_OUTPUT
8
- $FIELD_SEPARATOR $FILENAME $FS $IGNORECASE $INPUT_LINE_NUMBER
9
- $INPUT_RECORD_SEPARATOR $KCODE $LOADED_FEATURES $LOAD_PATH $NR $OFS
10
- $ORS $OUTPUT_FIELD_SEPARATOR $OUTPUT_RECORD_SEPARATOR $PID $PROCESS_ID
11
- $PROGRAM_NAME $RS $VERBOSE $deferr $defout $stderr $stdin $stdout)
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ class Globals < Pry::Command::Ls::Formatter
7
+ # Taken from "puts global_variables.inspect".
8
+ BUILTIN_GLOBALS =
9
+ %w[$" $$ $* $, $-0 $-F $-I $-K $-W $-a $-d $-i $-l $-p $-v $-w $. $/ $\\
10
+ $: $; $< $= $> $0 $ARGV $CONSOLE $DEBUG $DEFAULT_INPUT $DEFAULT_OUTPUT
11
+ $FIELD_SEPARATOR $FILENAME $FS $IGNORECASE $INPUT_LINE_NUMBER
12
+ $INPUT_RECORD_SEPARATOR $KCODE $LOADED_FEATURES $LOAD_PATH $NR $OFS
13
+ $ORS $OUTPUT_FIELD_SEPARATOR $OUTPUT_RECORD_SEPARATOR $PID $PROCESS_ID
14
+ $PROGRAM_NAME $RS $VERBOSE $deferr $defout $stderr $stdin $stdout].freeze
12
15
 
13
- # `$SAFE` and `$?` are thread-local, the exception stuff only works in a
14
- # rescue clause, everything else is basically a local variable with a `$`
15
- # in its name.
16
- PSEUDO_GLOBALS =
17
- %w($! $' $& $` $@ $? $+ $_ $~ $1 $2 $3 $4 $5 $6 $7 $8 $9
18
- $CHILD_STATUS $SAFE $ERROR_INFO $ERROR_POSITION $LAST_MATCH_INFO
19
- $LAST_PAREN_MATCH $LAST_READ_LINE $MATCH $POSTMATCH $PREMATCH)
16
+ # `$SAFE` and `$?` are thread-local, the exception stuff only works in a
17
+ # rescue clause, everything else is basically a local variable with a `$`
18
+ # in its name.
19
+ PSEUDO_GLOBALS =
20
+ %w[$! $' $& $` $@ $? $+ $_ $~ $1 $2 $3 $4 $5 $6 $7 $8 $9
21
+ $CHILD_STATUS $SAFE $ERROR_INFO $ERROR_POSITION $LAST_MATCH_INFO
22
+ $LAST_PAREN_MATCH $LAST_READ_LINE $MATCH $POSTMATCH $PREMATCH].freeze
20
23
 
21
- def initialize(opts, _pry_)
22
- super(_pry_)
23
- @default_switch = opts[:globals]
24
- end
24
+ def initialize(opts, pry_instance)
25
+ super(pry_instance)
26
+ @default_switch = opts[:globals]
27
+ end
25
28
 
26
- def output_self
27
- variables = format(@target.eval('global_variables'))
28
- output_section('global variables', grep.regexp[variables])
29
- end
29
+ def output_self
30
+ variables = format(@target.eval('global_variables'))
31
+ output_section('global variables', grep.regexp[variables])
32
+ end
30
33
 
31
- private
34
+ private
32
35
 
33
- def format(globals)
34
- globals.map(&:to_s).sort_by(&:downcase).map do |name|
35
- if PSEUDO_GLOBALS.include?(name)
36
- color(:pseudo_global, name)
37
- elsif BUILTIN_GLOBALS.include?(name)
38
- color(:builtin_global, name)
39
- else
40
- color(:global_var, name)
36
+ def format(globals)
37
+ globals.map(&:to_s).sort_by(&:downcase).map do |name|
38
+ if PSEUDO_GLOBALS.include?(name)
39
+ color(:pseudo_global, name)
40
+ elsif BUILTIN_GLOBALS.include?(name)
41
+ color(:builtin_global, name)
42
+ else
43
+ color(:global_var, name)
44
+ end
41
45
  end
42
46
  end
43
47
  end
@@ -1,18 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Pry
2
- class Command::Ls < Pry::ClassCommand
3
- class Grep
4
- def initialize(grep_regexp)
5
- @grep_regexp = grep_regexp
6
- end
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ class Grep
7
+ def initialize(grep_regexp)
8
+ @grep_regexp = grep_regexp
9
+ end
7
10
 
8
- def regexp
9
- proc { |x|
10
- if x.instance_of?(Array)
11
- x.grep(@grep_regexp)
12
- else
13
- x =~ @grep_regexp
14
- end
15
- }
11
+ def regexp
12
+ proc { |x|
13
+ if x.instance_of?(Array)
14
+ x.grep(@grep_regexp)
15
+ else
16
+ x =~ @grep_regexp
17
+ end
18
+ }
19
+ end
16
20
  end
17
21
  end
18
22
  end
@@ -1,37 +1,39 @@
1
- require 'pry/commands/ls/interrogatable'
1
+ # frozen_string_literal: true
2
2
 
3
3
  class Pry
4
- class Command::Ls < Pry::ClassCommand
5
- class InstanceVars < Pry::Command::Ls::Formatter
6
- include Pry::Command::Ls::Interrogatable
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ class InstanceVars < Pry::Command::Ls::Formatter
7
+ include Pry::Command::Ls::Interrogatable
7
8
 
8
- def initialize(interrogatee, no_user_opts, opts, _pry_)
9
- super(_pry_)
10
- @interrogatee = interrogatee
11
- @no_user_opts = no_user_opts
12
- @default_switch = opts[:ivars]
13
- end
9
+ def initialize(interrogatee, no_user_opts, opts, pry_instance)
10
+ super(pry_instance)
11
+ @interrogatee = interrogatee
12
+ @no_user_opts = no_user_opts
13
+ @default_switch = opts[:ivars]
14
+ end
14
15
 
15
- def correct_opts?
16
- super || @no_user_opts
17
- end
16
+ def correct_opts?
17
+ super || @no_user_opts
18
+ end
18
19
 
19
- def output_self
20
- ivars = if Object === @interrogatee
21
- Pry::Method.safe_send(@interrogatee, :instance_variables)
22
- else
23
- [] #TODO: BasicObject support
24
- end
25
- kvars = Pry::Method.safe_send(interrogatee_mod, :class_variables)
26
- ivars_out = output_section('instance variables', format(:instance_var, ivars))
27
- kvars_out = output_section('class variables', format(:class_var, kvars))
28
- ivars_out + kvars_out
29
- end
20
+ def output_self
21
+ ivars = if Object === @interrogatee # rubocop:disable Style/CaseEquality
22
+ Pry::Method.safe_send(@interrogatee, :instance_variables)
23
+ else
24
+ [] # TODO: BasicObject support
25
+ end
26
+ kvars = Pry::Method.safe_send(interrogatee_mod, :class_variables)
27
+ ivars_out = output_section('instance variables', format(:instance_var, ivars))
28
+ kvars_out = output_section('class variables', format(:class_var, kvars))
29
+ ivars_out + kvars_out
30
+ end
30
31
 
31
- private
32
+ private
32
33
 
33
- def format(type, vars)
34
- vars.sort_by { |var| var.to_s.downcase }.map { |var| color(type, var) }
34
+ def format(type, vars)
35
+ vars.sort_by { |var| var.to_s.downcase }.map { |var| color(type, var) }
36
+ end
35
37
  end
36
38
  end
37
39
  end
@@ -1,18 +1,24 @@
1
- module Pry::Command::Ls::Interrogatable
1
+ # frozen_string_literal: true
2
2
 
3
- private
3
+ class Pry
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ module Interrogatable
7
+ private
4
8
 
5
- def interrogating_a_module?
6
- Module === @interrogatee
7
- end
9
+ def interrogating_a_module?
10
+ Module === @interrogatee # rubocop:disable Style/CaseEquality
11
+ end
8
12
 
9
- def interrogatee_mod
10
- if interrogating_a_module?
11
- @interrogatee
12
- else
13
- singleton = Pry::Method.singleton_class_of(@interrogatee)
14
- singleton.ancestors.grep(::Class).reject { |c| c == singleton }.first
13
+ def interrogatee_mod
14
+ if interrogating_a_module?
15
+ @interrogatee
16
+ else
17
+ singleton = Pry::Method.singleton_class_of(@interrogatee)
18
+ singleton.ancestors.grep(::Class).reject { |c| c == singleton }.first
19
+ end
20
+ end
21
+ end
15
22
  end
16
23
  end
17
-
18
24
  end
@@ -1,49 +1,55 @@
1
- module Pry::Command::Ls::JRubyHacks
1
+ # frozen_string_literal: true
2
2
 
3
- private
3
+ class Pry
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ module JRubyHacks
7
+ private
4
8
 
5
- # JRuby creates lots of aliases for methods imported from java in an attempt
6
- # to make life easier for ruby programmers. (e.g. getFooBar becomes
7
- # get_foo_bar and foo_bar, and maybe foo_bar? if it returns a Boolean). The
8
- # full transformations are in the assignAliases method of:
9
- # https://github.com/jruby/jruby/blob/master/src/org/jruby/javasupport/JavaClass.java
10
- #
11
- # This has the unfortunate side-effect of making the output of ls even more
12
- # incredibly verbose than it normally would be for these objects; and so we
13
- # filter out all but the nicest of these aliases here.
14
- #
15
- # TODO: This is a little bit vague, better heuristics could be used.
16
- # JRuby also has a lot of scala-specific logic, which we don't copy.
17
- def trim_jruby_aliases(methods)
18
- grouped = methods.group_by do |m|
19
- m.name.sub(/\A(is|get|set)(?=[A-Z_])/, '').gsub(/[_?=]/, '').downcase
20
- end
9
+ # JRuby creates lots of aliases for methods imported from java in an attempt
10
+ # to make life easier for ruby programmers. (e.g. getFooBar becomes
11
+ # get_foo_bar and foo_bar, and maybe foo_bar? if it returns a Boolean). The
12
+ # full transformations are in the assignAliases method of:
13
+ # https://github.com/jruby/jruby/blob/master/src/org/jruby/javasupport/JavaClass.java
14
+ #
15
+ # This has the unfortunate side-effect of making the output of ls even more
16
+ # incredibly verbose than it normally would be for these objects; and so we
17
+ # filter out all but the nicest of these aliases here.
18
+ #
19
+ # TODO: This is a little bit vague, better heuristics could be used.
20
+ # JRuby also has a lot of scala-specific logic, which we don't copy.
21
+ def trim_jruby_aliases(methods)
22
+ grouped = methods.group_by do |m|
23
+ m.name.sub(/\A(is|get|set)(?=[A-Z_])/, '').gsub(/[_?=]/, '').downcase
24
+ end
21
25
 
22
- grouped.flat_map do |key, values|
23
- values = values.sort_by do |m|
24
- rubbishness(m.name)
25
- end
26
+ grouped.flat_map do |_key, values|
27
+ values = values.sort_by do |m|
28
+ rubbishness(m.name)
29
+ end
26
30
 
27
- found = []
28
- values.select do |x|
29
- (!found.any? { |y| x == y }) && found << x
30
- end
31
- end
32
- end
31
+ found = []
32
+ values.select do |x|
33
+ (found.none? { |y| x == y }) && found << x
34
+ end
35
+ end
36
+ end
33
37
 
34
- # When removing jruby aliases, we want to keep the alias that is
35
- # "least rubbish" according to this metric.
36
- def rubbishness(name)
37
- name.each_char.map { |x|
38
- case x
39
- when /[A-Z]/
40
- 1
41
- when '?', '=', '!'
42
- -2
43
- else
44
- 0
38
+ # When removing jruby aliases, we want to keep the alias that is
39
+ # "least rubbish" according to this metric.
40
+ def rubbishness(name)
41
+ name.each_char.map do |x|
42
+ case x
43
+ when /[A-Z]/
44
+ 1
45
+ when '?', '=', '!'
46
+ -2
47
+ else
48
+ 0
49
+ end
50
+ end.inject(&:+) + (name.size / 100.0)
51
+ end
45
52
  end
46
- }.inject(&:+) + (name.size / 100.0)
53
+ end
47
54
  end
48
-
49
55
  end
@@ -1,30 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Pry
2
- class Command::Ls < Pry::ClassCommand
3
- class LocalNames < Pry::Command::Ls::Formatter
4
- def initialize(no_user_opts, args, _pry_)
5
- super(_pry_)
6
- @no_user_opts = no_user_opts
7
- @args = args
8
- @sticky_locals = _pry_.sticky_locals
9
- end
4
+ class Command
5
+ class Ls < Pry::ClassCommand
6
+ class LocalNames < Pry::Command::Ls::Formatter
7
+ def initialize(no_user_opts, args, pry_instance)
8
+ super(pry_instance)
9
+ @no_user_opts = no_user_opts
10
+ @args = args
11
+ @sticky_locals = pry_instance.sticky_locals
12
+ end
10
13
 
11
- def correct_opts?
12
- super || (@no_user_opts && @args.empty?)
13
- end
14
+ def correct_opts?
15
+ super || (@no_user_opts && @args.empty?)
16
+ end
14
17
 
15
- def output_self
16
- local_vars = grep.regexp[@target.eval('local_variables')]
17
- output_section('locals', format(local_vars))
18
- end
18
+ def output_self
19
+ local_vars = grep.regexp[@target.eval('local_variables')]
20
+ output_section('locals', format(local_vars))
21
+ end
19
22
 
20
- private
23
+ private
21
24
 
22
- def format(locals)
23
- locals.sort_by(&:downcase).map do |name|
24
- if @sticky_locals.include?(name.to_sym)
25
- color(:pry_var, name)
26
- else
27
- color(:local_var, name)
25
+ def format(locals)
26
+ locals.sort_by(&:downcase).map do |name|
27
+ if @sticky_locals.include?(name.to_sym)
28
+ color(:pry_var, name)
29
+ else
30
+ color(:local_var, name)
31
+ end
28
32
  end
29
33
  end
30
34
  end