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_, #grep

Instance Method Summary collapse

Methods included from Interrogatable

#interrogatee_mod, #interrogating_a_module?

Methods inherited from Formatter

#color, #format_value, #output_section, #write_out

Constructor Details

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

Returns a new instance of InstanceVars



8
9
10
11
12
13
# File 'lib/pry/commands/ls/instance_vars.rb', line 8

def initialize(interrogatee, no_user_opts, opts, _pry_)
  super(_pry_)
  @interrogatee = interrogatee
  @no_user_opts = no_user_opts
  @default_switch = opts[:ivars]
end

Instance Method Details

#correct_opts?Boolean

Returns:

  • (Boolean)


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

def correct_opts?
  super || @no_user_opts
end

#format(type, vars) ⇒ Object (private)



33
34
35
# File 'lib/pry/commands/ls/instance_vars.rb', line 33

def format(type, vars)
  vars.sort_by { |var| var.to_s.downcase }.map { |var| color(type, var) }
end

#output_selfObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/pry/commands/ls/instance_vars.rb', line 19

def output_self
  ivars = if Object === @interrogatee
            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