PHP 8.2.31
Preview: stream_printer.rb Size: 705 B
//proc/thread-self/root/opt/alt/ruby40/share/rubygems/rubygems/safe_marshal/visitors/stream_printer.rb

# frozen_string_literal: true

require_relative "visitor"

module Gem::SafeMarshal
  module Visitors
    class StreamPrinter < Visitor
      def initialize(io, indent: "")
        @io = io
        @indent = indent
        @level = 0
      end

      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
    end
  end
end

Directory Contents

Dirs: 0 × Files: 3

Name Size Perms Modified Actions
705 B lrw-r--r-- 2026-05-21 12:15:20
Edit Download
11.64 KB lrw-r--r-- 2026-05-21 12:15:20
Edit Download
2.05 KB lrw-r--r-- 2026-05-21 12:15:20
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).