class Gem::SafeMarshal::Visitors::StreamPrinter - Documentation for Ruby 4.0
Description: Documentation for the Gem::SafeMarshal::Visitors::StreamPrinter class
Keywords: ruby,class,Gem::SafeMarshal::Visitors::StreamPrinter

🔍

No recent searches

# class Gem::SafeMarshal::Visitors::StreamPrinter

### Public Class Methods

new (io, indent: "")
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)
Source

    # 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

Calls superclass method