class Pry::Command::Ls::Constants

Constants

DEPRECATED_CONSTANTS

Public Class Methods

new(interrogatee, no_user_opts, opts, _pry_) click to toggle source
Calls superclass method Pry::Command::Ls::Formatter.new
# File lib/pry/commands/ls/constants.rb, line 10
def initialize(interrogatee, no_user_opts, opts, _pry_)
  super(_pry_)
  @interrogatee = interrogatee
  @no_user_opts = no_user_opts
  @default_switch = opts[:constants]
  @verbose_switch = opts[:verbose]
  @dconstants = opts.dconstants?
end

Public Instance Methods

correct_opts?() click to toggle source
# File lib/pry/commands/ls/constants.rb, line 19
def correct_opts?
  super || (@no_user_opts && interrogating_a_module?)
end
output_self() click to toggle source
# File lib/pry/commands/ls/constants.rb, line 23
def output_self
  mod = interrogatee_mod
  constants = WrappedModule.new(mod).constants(@verbose_switch)
  output_section('constants', grep.regexp[format(mod, constants)])
end

Private Instance Methods

format(mod, constants) click to toggle source
# File lib/pry/commands/ls/constants.rb, line 35
def format(mod, constants)
  constants.sort_by(&:downcase).map do |name|
    if Object.respond_to?(:deprecate_constant) and
      DEPRECATED_CONSTANTS.include?(name)      and
      !show_deprecated_constants?
      next
    end

    if (const = (!mod.autoload?(name) && (mod.const_get(name) || true) rescue nil))
      if (const < Exception rescue false)
        color(:exception_constant, name)
      elsif (Module === mod.const_get(name) rescue false)
        color(:class_constant, name)
      else
        color(:constant, name)
      end
    else
      color(:unloaded_constant, name)
    end
  end
end
show_deprecated_constants?() click to toggle source
# File lib/pry/commands/ls/constants.rb, line 31
def show_deprecated_constants?
  @dconstants == true
end