NAME

Yukki::Role::Savable - Provides a mechanism for YAML-izing objects

VERSION

version 0.991_005

SYNOPSIS

package Yukki::Things;
use v5.24;
use Moo;

with 'Yukki::Role::Savable';

has foo => ( is => 'ro' );
has bar => ( is => 'ro' );

sub savable_attributes { qw( foo bar ) }

my $things = Yukki::Things->new(foo => 1, bar => 2);
path('file.yaml')->spew_utf8($things->dump_yaml);

my $things = Yukki::Things->load_yaml(path('file.yaml')->slurp_utf8);
say $things->foo; #> 1
say $things->bar; #> 2

DESCRIPTION

This is intended to provide Yukki with a nice, neat way to save and load some configuration objects in a standard way.

REQUIRED METHODS

savable_attributes

my @attr = $obj->savable_attributes;

Returns the list of attributes to save in the YAML.

METHODS

dump_yaml

my $yaml_text = $obj->dump_yaml;

This converts the object to YAML and returns the ext.

load_yaml

my $obj = $class->load_yaml($yaml_text);

This constructs a new class from the data loaded from the given YAML text.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Qubling Software LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.