# module YAML

`YAML` Ain’t Markup Language

This module provides a Ruby interface for data serialization in `YAML` format.

The `YAML` module is an alias of `Psych`, the `YAML` engine for Ruby.

## Usage¶ ↑

Working with `YAML` can be very simple, for example:

    require 'yaml'
    # Parse a YAML string
    YAML.load("--- foo") #=> "foo"

    # Emit some YAML
    YAML.dump("foo")     # => "--- foo\n...\n"
    { :a => 'b'}.to_yaml  # => "---\n:a: b\n"

As the implementation is provided by the `Psych` library, detailed documentation can be found in that library’s docs (also part of standard library).

## Security¶ ↑

Do not use `YAML` to load untrusted data. Doing so is unsafe and could allow malicious input to execute arbitrary code inside your application. Please see doc/security.rdoc for more information.

## History¶ ↑

Syck was the original `YAML` implementation in Ruby’s standard library developed by why the lucky stiff.

You can still use Syck, if you prefer, for parsing and emitting `YAML`, but you must install the ‘syck’ gem now in order to use it.

In older Ruby versions, ie. <= 1.9, Syck is still provided, however it was completely removed with the release of Ruby 2.0.0.

## More info¶ ↑

For more advanced details on the implementation see `Psych`, and also check out yaml.org for spec details and other helpful information.

`Psych` is maintained by Aaron Patterson on github: github.com/ruby/psych

Syck can also be found on github: github.com/ruby/syck