MooseX::YAML - DWIM loading of Moose objects from YAML
# 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
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).
BUILDALL
This is similar to YAML::Active in that certain nodes in the loaded YAML documented are treated specially.
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.
-xs
-syck
-pp
If no driver is explicitly chosen YAML::XS will be tried first, falling back to YAML.
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.
darcs send
Yuval Kogman <nothingmuch@woobling.org>
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.
To install MooseX::YAML, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::YAML
CPAN shell
perl -MCPAN -e shell install MooseX::YAML
For more information on module installation, please visit the detailed CPAN module installation guide.