Jifty::DBI::Filter::YAML - This filter stores arbitrary Perl via YAML
Contents
Description
This filter provides the ability to store arbitrary data structures into a database column using YAML.
This is very similar to the Jifty::DBI::Filter::Storable filter except that the YAML format remains
human-readable in the database. You can store virtually any Perl data, scalar, hash, array, or object
into the database using this filter.
In addition, YAML (at least the storage of scalars, hashes, and arrays) is compatible with data
structures written in other languages, so you may store or read data between applications written in
different languages.
Implementation
This class will attempt to use YAML::Syck if it is available and then fall back upon YAML. This has been
done because the Syck library is written in C and is considerably faster.
License
This program is free software and may be modified or distributed under the same terms as Perl itself.
perl v5.34.0 2022-06-15 Jifty::DBI::Filter::YAML(3pm)
Methods
encode
This method is used to encode the Perl data structure into YAML formatted text.
decode
This method is used to decode the YAML formatted text from the database into the Perl data structure.
Name
Jifty::DBI::Filter::YAML - This filter stores arbitrary Perl via YAML
See Also
Jifty::DBI::Filter, YAML, YAML::Syck
Synopsis
use Jifty::DBI::Record schema {
column my_data =>
type is 'text',
filters are qw/ Jifty::DBI::Filter::YAML /;
};
my $thing = __PACKAGE__->new;
$thing->create( my_data => { foo => 'bar', baz => [ 1, 2, 3 ] } );
my $my_data = $thing->my_data;
while (my ($key, $value) = %$my_data) {
# do something...
}
