Class: Pry::Command::Ls

Inherits:
Pry::ClassCommand show all
Defined in:
lib/pry/commands/ls.rb,
lib/pry/commands/ls/grep.rb,
lib/pry/commands/ls/config.rb,
lib/pry/commands/ls/globals.rb,
lib/pry/commands/ls/methods.rb,
lib/pry/commands/ls/constants.rb,
lib/pry/commands/ls/formatter.rb,
lib/pry/commands/ls/ls_entity.rb,
lib/pry/commands/ls/local_vars.rb,
lib/pry/commands/ls/jruby_hacks.rb,
lib/pry/commands/ls/local_names.rb,
lib/pry/commands/ls/self_methods.rb,
lib/pry/commands/ls/instance_vars.rb,
lib/pry/commands/ls/interrogatable.rb,
lib/pry/commands/ls/methods_helper.rb

Defined Under Namespace

Modules: Interrogatable, JRubyHacks, MethodsHelper Classes: Config, Constants, Formatter, Globals, Grep, InstanceVars, LocalNames, LocalVars, LsEntity, Methods, SelfMethods

Constant Summary

Constants inherited from Pry::Command

VOID_VALUE

Constants included from Helpers::DocumentationHelpers

Helpers::DocumentationHelpers::YARD_TAGS

Constants included from Helpers::Text

Helpers::Text::COLORS

Instance Attribute Summary

Attributes inherited from Pry::ClassCommand

#args, #opts

Attributes inherited from Pry::Command

#arg_string, #captures, #command_block, #command_set, #context, #eval_string, #hooks, #output, #pry_instance, #target

Instance Method Summary collapse

Methods inherited from Pry::ClassCommand

#call, #complete, doc, #help, inherited, #setup, #slop, source, source_file, source_line, source_location, #subcommands

Methods inherited from Pry::Command

#_pry_, banner, #block, #check_for_command_collision, command_name, #command_name, #command_options, command_regex, #commands, #complete, convert_to_regex, default_options, #description, doc, group, #initialize, inspect, #interpolate_string, #match, match_score, matches?, name, #name, options, #process_line, #run, source, #source, source_file, source_line, state, #state, subclass, #target_self, #tokenize, #void

Methods included from Helpers::DocumentationHelpers

get_comment_content, process_comment_markup, process_rdoc, process_yardoc, process_yardoc_tag, strip_comments_from_c_code, strip_leading_whitespace

Methods included from Pry::CodeObject::Helpers

#c_method?, #c_module?, #command?, #module_with_yard_docs?, #real_method_object?

Methods included from Helpers::Text

#bold, #default, #indent, #no_color, #no_pager, #strip_color, #with_line_numbers

Methods included from Helpers::CommandHelpers

#absolute_index_number, #absolute_index_range, #get_method_or_raise, #internal_binding?, #one_index_number, #one_index_range, #one_index_range_or_number, #restrict_to_lines, #set_file_and_dir_locals, #temp_file, #unindent

Methods included from Helpers::OptionsHelpers

method_object, method_options

Methods included from Helpers::BaseHelpers

#colorize_code, #find_command, #heading, #highlight, #not_a_real_file?, #safe_send, #silence_warnings, #stagger_output, #use_ansi_codes?

Constructor Details

This class inherits a constructor from Pry::Command

Instance Method Details

#no_user_opts?Boolean

Exclude -q, -v and –grep because they, don’t specify what the user wants to see.

Returns:

  • (Boolean)


64
65
66
67
# File 'lib/pry/commands/ls.rb', line 64

def no_user_opts?
  !(opts[:methods] || opts['instance-methods'] || opts[:ppp] ||
    opts[:globals] || opts[:locals] || opts[:constants] || opts[:ivars])
end

#options(opt) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/pry/commands/ls.rb', line 31

def options(opt)
  opt.on :m, :methods, "Show public methods defined on the Object"
  opt.on :M, "instance-methods", "Show public methods defined in a " \
                                 "Module or Class"
  opt.on :p, :ppp, "Show public, protected (in yellow) and private " \
                   "(in green) methods"
  opt.on :q, :quiet, "Show only methods defined on object.singleton_class " \
                     "and object.class"
  opt.on :v, :verbose, "Show methods and constants on all super-classes " \
                       "(ignores Pry.config.ls.ceiling)"
  opt.on :g, :globals, "Show global variables, including those builtin to " \
                       "Ruby (in cyan)"
  opt.on :l, :locals, "Show hash of local vars, sorted by descending size"
  opt.on :c, :constants, "Show constants, highlighting classes (in blue), " \
                         "and exceptions (in purple).\n" \
                         "#{' ' * 32}Constants that are pending autoload? " \
                         "are also shown (in yellow)"
  opt.on :i, :ivars, "Show instance variables (in blue) and class " \
                     "variables (in bright blue)"
  opt.on :G, :grep, "Filter output by regular expression", argument: true

  if Object.respond_to?(:deprecate_constant)
    opt.on :d, :dconstants, "Show deprecated constants"
  end

  return unless Helpers::Platform.jruby?

  opt.on :J, "all-java", "Show all the aliases for methods from java " \
                         "(default is to show only prettiest)"
end

#processObject



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/pry/commands/ls.rb', line 69

def process
  @interrogatee = args.empty? ? target_self : target.eval(args.join(' '))
  raise_errors_if_arguments_are_weird
  ls_entity = LsEntity.new(
    interrogatee: @interrogatee,
    no_user_opts: no_user_opts?,
    opts: opts,
    args: args,
    pry_instance: pry_instance
  )

  pry_instance.pager.page ls_entity.entities_table
end