class Psych::Coder
If an object defines encode_with, then an instance of Psych::Coder will be passed to the method when the object is being serialized.  The Coder automatically assumes a Psych::Nodes::Mapping is being emitted.  Other objects like Sequence and Scalar may be emitted if seq= or scalar= are called, respectively.
Attributes
          implicit[RW]
        
        
          object[RW]
        
        
          seq[R]
        
        
          style[RW]
        
        
          tag[RW]
        
        
          type[R]
        
        Public Class Methods
            new(tag)
            click to toggle source
          
        # File ext/psych/lib/psych/coder.rb, line 13 def initialize tag @map = {} @seq = [] @implicit = false @type = :map @tag = tag @style = Psych::Nodes::Mapping::BLOCK @scalar = nil @object = nil end
Public Instance Methods
            [](k)
            click to toggle source
          
        # File ext/psych/lib/psych/coder.rb, line 84 def [] k @type = :map @map[k] end
            []=(k, v)
            click to toggle source
          
        # File ext/psych/lib/psych/coder.rb, line 78 def []= k, v @type = :map @map[k] = v end
          Also aliased as: add
        
      
            map(tag = @tag, style = @style) { |self| ... }
            click to toggle source
          
        Emit a map. The coder will be yielded to the block.
# File ext/psych/lib/psych/coder.rb, line 34 def map tag = @tag, style = @style @tag = tag @style = style yield self if block_given? @map end
            map=(map)
            click to toggle source
          
        Emit a map with value
# File ext/psych/lib/psych/coder.rb, line 73 def map= map @type = :map @map = map end
            represent_map(tag, map)
            click to toggle source
          
        Emit a sequence with map and tag
# File ext/psych/lib/psych/coder.rb, line 54 def represent_map tag, map @tag = tag self.map = map end
            represent_object(tag, obj)
            click to toggle source
          
        Emit an arbitrary object obj and tag
# File ext/psych/lib/psych/coder.rb, line 60 def represent_object tag, obj @tag = tag @type = :object @object = obj end
            represent_scalar(tag, value)
            click to toggle source
          
        Emit a scalar with value and tag
# File ext/psych/lib/psych/coder.rb, line 42 def represent_scalar tag, value self.tag = tag self.scalar = value end
            represent_seq(tag, list)
            click to toggle source
          
        Emit a sequence with list and tag
# File ext/psych/lib/psych/coder.rb, line 48 def represent_seq tag, list @tag = tag self.seq = list end
            scalar(*args)
            click to toggle source
          
        # File ext/psych/lib/psych/coder.rb, line 24 def scalar *args if args.length > 0 warn "#{caller[0]}: Coder#scalar(a,b,c) is deprecated" if $VERBOSE @tag, @scalar, _ = args @type = :scalar end @scalar end
            scalar=(value)
            click to toggle source
          
        Emit a scalar with value
# File ext/psych/lib/psych/coder.rb, line 67 def scalar= value @type = :scalar @scalar = value end
            seq=(list)
            click to toggle source
          
        Emit a sequence of list
# File ext/psych/lib/psych/coder.rb, line 90 def seq= list @type = :seq @seq = list end