MooseX::YAML.3pm

Langue: en

Version: 2010-02-05 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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 (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.