class Pry::Command::Ls::InstanceVars

Public Class Methods

new(interrogatee, no_user_opts, opts, pry_instance) click to toggle source
Calls superclass method Pry::Command::Ls::Formatter::new
# File lib/pry/commands/ls/instance_vars.rb, line 9
def initialize(interrogatee, no_user_opts, opts, pry_instance)
  super(pry_instance)
  @interrogatee = interrogatee
  @no_user_opts = no_user_opts
  @default_switch = opts[:ivars]
end

Public Instance Methods

correct_opts?() click to toggle source
# File lib/pry/commands/ls/instance_vars.rb, line 16
def correct_opts?
  super || @no_user_opts
end
output_self() click to toggle source
# File lib/pry/commands/ls/instance_vars.rb, line 20
def output_self
  ivars = if Object === @interrogatee # rubocop:disable Style/CaseEquality
            Pry::Method.safe_send(@interrogatee, :instance_variables)
          else
            [] # TODO: BasicObject support
          end
  kvars = Pry::Method.safe_send(interrogatee_mod, :class_variables)
  ivars_out = output_section('instance variables', format(:instance_var, ivars))
  kvars_out = output_section('class variables', format(:class_var, kvars))
  ivars_out + kvars_out
end

Private Instance Methods

format(type, vars) click to toggle source
# File lib/pry/commands/ls/instance_vars.rb, line 34
def format(type, vars)
  vars.sort_by { |var| var.to_s.downcase }.map { |var| color(type, var) }
end