Class: Gem::SafeMarshal::Visitors::StreamPrinter
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           Visitor | |
| Instance Chain: 
          self,
           Visitor | |
| Inherits: | Gem::SafeMarshal::Visitors::Visitor 
 | 
| Defined in: | lib/rubygems/safe_marshal/visitors/stream_printer.rb | 
Constant Summary
Class Method Summary
- .new(io, indent: "") ⇒ StreamPrinter constructor
Instance Method Summary
Visitor - Inherited
Constructor Details
    .new(io, indent: "")  ⇒ StreamPrinter 
  
# File 'lib/rubygems/safe_marshal/visitors/stream_printer.rb', line 8
def initialize(io, indent: "") @io = io @indent = indent @level = 0 end
Instance Method Details
#visit(target)
[ GitHub ]# 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