Tuesday, April 29, 2008

Compared to MRI YAML interface, what rbyaml missing

After compared rbyaml.rb to yaml.rb which is from MRI, I've summarized some missing methods.
Mainly, we need some class variables for RbYAML now, just like parser, emitter and resolver(named as loader in RbYAML)

More information as follows.
  • rbyaml.rb[main interface]
    • missing method
      • parser
        • using resolver method
      • generic_parser
        • using GenericResolver
      • resolver
        • return DefaultResolver
      • emitter
        • using resolver method
      • parse
        • generic_parser.load
      • parse_file
        • parse
      • each_node
        • parser.load_documents
      • parse_documents
        • each_node
      • add_*_type
        • resolver.add_type(loader in rbyaml)
      • tagurize
        • resolver.tagurize
      • transfer
        • resolver.transfer
      • try_implicit
        • transfer & detect_implicit
      • quick_emit
        • using emmitter, there's quick_emit_node in RbYaml, there are not the same
      • Kernel.y
        • like p, y is a really convenient way to YAML.dump

No comments: