Class: Pry::Command::Ls::InstanceVars

Inherits:
Formatter show all
Includes:
Interrogatable
Defined in:
lib/pry/commands/ls/instance_vars.rb

Instance Attribute Summary

Attributes inherited from Formatter

#pry_instance

Instance Method Summary collapse

Methods inherited from Formatter

#write_out

Constructor Details

#initialize(interrogatee, no_user_opts, opts, pry_instance) ⇒ InstanceVars

Returns a new instance of InstanceVars.



9
10
11
12
13
14
# 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

Instance Method Details

#correct_opts?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/pry/commands/ls/instance_vars.rb', line 16

def correct_opts?
  super || @no_user_opts
end

#output_selfObject



20
21
22
23
24
25
26
27
28
29
30
# 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