![show/hide quicksearch [+]](../images/find.png)
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.
 
               # File psych/lib/psych/coder.rb, line 84
def [] k
  @type = :map
  @map[k]
end
             
             
               # File psych/lib/psych/coder.rb, line 78
def []= k, v
  @type = :map
  @map[k] = v
end
             
            Emit a map. The coder will be yielded to the block.
 
               # File psych/lib/psych/coder.rb, line 34
def map tag = @tag, style = @style
  @tag   = tag
  @style = style
  yield self if block_given?
  @map
end
             
            Emit a map with value
 
               # File psych/lib/psych/coder.rb, line 73
def map= map
  @type = :map
  @map  = map
end
             
            Emit a sequence with map and tag
 
               # File psych/lib/psych/coder.rb, line 54
def represent_map tag, map
  @tag = tag
  self.map = map
end
             
            Emit an arbitrary object obj and tag
 
               # File psych/lib/psych/coder.rb, line 60
def represent_object tag, obj
  @tag    = tag
  @type   = :object
  @object = obj
end
             
            Emit a scalar with value and tag
 
               # File psych/lib/psych/coder.rb, line 42
def represent_scalar tag, value
  self.tag    = tag
  self.scalar = value
end
             
            Emit a sequence with list and tag
 
               # File psych/lib/psych/coder.rb, line 48
def represent_seq tag, list
  @tag = tag
  self.seq = list
end
             
             
               # File 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