NAME¶
MooseX::YAML - DWIM loading of Moose objects from YAML
SYNOPSIS¶
# given some class:
package My::Module;
use Moose;
has package => (
is => "ro",
init_arg => "name",
);
has version => (
is => "rw",
init_arg => undef,
);
sub BUILD { shift->version(3) }
# load an object like so:
use MooseX::YAML qw(Load -xs);
my $obj = Load(<<'YAML');
--- !My::Module # this syntax requires YAML::XS
name: "MooseX::YAML"
YAML
$obj->package; # "MooseX::YAML"
$obj->version; # 3, BUILD was called
DESCRIPTION¶
This module provides DWIM loading of Moose based objects from YAML documents.
Any hashes blessed into a Moose class will be replaced with a properly
constructed instance (respecting init args, "BUILDALL", and the meta
instance type).
This is similar to YAML::Active in that certain nodes in the loaded YAML
documented are treated specially.
EXPORTS¶
All exports are setup by Sub::Exporter using currying.
"-xs", "-syck" or "-pp" can be specified to
specify YAML::XS, YAML::Syck or YAML on a per import basis.
If no driver is explicitly chosen YAML::XS will be tried first, falling back to
YAML.
- Load
- LoadFile
VERSION CONTROL¶
This module is maintained using Darcs. You can get the latest version from
<
http://nothingmuch.woobling.org/code>, and use "darcs send"
to commit changes.
AUTHOR¶
Yuval Kogman <nothingmuch@woobling.org>
COPYRIGHT¶
Copyright (c) 2008 Yuval Kogman. All rights reserved
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.