123456789_123456789_123456789_123456789_123456789_

Class: Gem::SafeMarshal::Visitors::Visitor

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Inherits: Object
Defined in: lib/rubygems/safe_marshal/visitors/visitor.rb

Constant Summary

Instance Method Summary

Instance Method Details

#visit(target)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 5

def visit(target)
  send DISPATCH.fetch(target.class), target
end

#visit_Gem_SafeMarshal_Elements_Array(target) (private)

[ GitHub ]

  
# 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) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 28

def visit_Gem_SafeMarshal_Elements_Bignum(target); end

#visit_Gem_SafeMarshal_Elements_False(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 29

def visit_Gem_SafeMarshal_Elements_False(target); end

#visit_Gem_SafeMarshal_Elements_Float(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 30

def visit_Gem_SafeMarshal_Elements_Float(target); end

#visit_Gem_SafeMarshal_Elements_Hash(target) (private)

[ GitHub ]

  
# 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) (private)

[ GitHub ]

  
# 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) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 44

def visit_Gem_SafeMarshal_Elements_Integer(target); end

#visit_Gem_SafeMarshal_Elements_Nil(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 45

def visit_Gem_SafeMarshal_Elements_Nil(target); end

#visit_Gem_SafeMarshal_Elements_Object(target) (private)

[ GitHub ]

  
# 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_String(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 52

def visit_Gem_SafeMarshal_Elements_String(target); end

#visit_Gem_SafeMarshal_Elements_Symbol(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 53

def visit_Gem_SafeMarshal_Elements_Symbol(target); end

#visit_Gem_SafeMarshal_Elements_True(target) (private)

[ GitHub ]

  
# File 'lib/rubygems/safe_marshal/visitors/visitor.rb', line 55

def visit_Gem_SafeMarshal_Elements_True(target); end

#visit_Gem_SafeMarshal_Elements_UserDefined(target) (private)

[ GitHub ]

  
# 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) (private)

[ GitHub ]

  
# 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) (private)

[ GitHub ]

  
# 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) (private)

Raises:

  • (ArgumentError)
[ GitHub ]

  
# 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