# class Gem::SafeMarshal::Visitors::Visitor

### Constants

DISPATCH

### Public Instance Methods

visit(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 5
    def visit(target)
      send DISPATCH.fetch(target.class), target
    end

### Private Instance Methods

visit_Gem_SafeMarshal_Elements_Array(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 24
    def visit_Gem_SafeMarshal_Elements_Array(target)
      target.elements.each {|e| visit(e) }
    end

visit_Gem_SafeMarshal_Elements_Bignum(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 28
    def visit_Gem_SafeMarshal_Elements_Bignum(target); end

visit_Gem_SafeMarshal_Elements_False(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 29
    def visit_Gem_SafeMarshal_Elements_False(target); end

visit_Gem_SafeMarshal_Elements_Float(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 30
    def visit_Gem_SafeMarshal_Elements_Float(target); end

visit_Gem_SafeMarshal_Elements_Hash(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 32
    def visit_Gem_SafeMarshal_Elements_Hash(target)
      target.pairs.each do |k, v|
        visit(k)
        visit(v)
      end
    end

visit_Gem_SafeMarshal_Elements_HashWithDefaultValue(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 39
    def visit_Gem_SafeMarshal_Elements_HashWithDefaultValue(target)
      visit_Gem_SafeMarshal_Elements_Hash(target)
      visit(target.default)
    end

visit_Gem_SafeMarshal_Elements_Integer(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 44
    def visit_Gem_SafeMarshal_Elements_Integer(target); end

visit_Gem_SafeMarshal_Elements_Nil(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 45
    def visit_Gem_SafeMarshal_Elements_Nil(target); end

visit_Gem_SafeMarshal_Elements_Object(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 47
    def visit_Gem_SafeMarshal_Elements_Object(target)
      visit(target.name)
    end

visit_Gem_SafeMarshal_Elements_ObjectLink(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 51
    def visit_Gem_SafeMarshal_Elements_ObjectLink(target); end

visit_Gem_SafeMarshal_Elements_String(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 52
    def visit_Gem_SafeMarshal_Elements_String(target); end

visit_Gem_SafeMarshal_Elements_Symbol(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 53
    def visit_Gem_SafeMarshal_Elements_Symbol(target); end

visit_Gem_SafeMarshal_Elements_SymbolLink(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 54
    def visit_Gem_SafeMarshal_Elements_SymbolLink(target); end

visit_Gem_SafeMarshal_Elements_True(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 55
    def visit_Gem_SafeMarshal_Elements_True(target); end

visit_Gem_SafeMarshal_Elements_UserDefined(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 57
    def visit_Gem_SafeMarshal_Elements_UserDefined(target)
      visit(target.name)
    end

visit_Gem_SafeMarshal_Elements_UserMarshal(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 61
    def visit_Gem_SafeMarshal_Elements_UserMarshal(target)
      visit(target.name)
      visit(target.data)
    end

visit_Gem_SafeMarshal_Elements_WithIvars(target) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 66
    def visit_Gem_SafeMarshal_Elements_WithIvars(target)
      visit(target.object)
      target.ivars.each do |k, v|
        visit(k)
        visit(v)
      end
    end

visit_unknown_element(e) click to toggle source

    # File lib/rubygems/safe_marshal/visitors/visitor.rb, line 20
    def visit_unknown_element(e)
      raise ArgumentError, "Attempting to visit unknown element #{e.inspect}"
    end