class Gem::SafeMarshal::Visitors::StreamPrinter

Public Class Methods

new(io, indent: "") click to toggle source
# File lib/rubygems/safe_marshal/visitors/stream_printer.rb, line 8
def initialize(io, indent: "")
  @io = io
  @indent = indent
  @level = 0
end

Public Instance Methods

visit(target) click to toggle source
Calls superclass method
# File lib/rubygems/safe_marshal/visitors/stream_printer.rb, line 14
def visit(target)
  @io.write("#{@indent * @level}#{target.class}")
  target.instance_variables.each do |ivar|
    value = target.instance_variable_get(ivar)
    next if Elements::Element === value || Array === value
    @io.write(" #{ivar}=#{value.inspect}")
  end
  @io.write("\n")
  begin
    @level += 1
    super
  ensure
    @level -= 1
  end
end