NAME
App::Serializer::Yaml - Interface for serialization and deserialization
SYNOPSIS
use App;
$context = App->context();
$serializer = $context->service("Serializer"); # or ...
$serializer = $context->serializer();
$data = {
an => 'arbitrary',
collection => [ 'of', 'data', ],
of => {
arbitrary => 'depth',
},
};
$yaml = $serializer->serialize($data);
$data = $serializer->deserialize($yaml);
print $serializer->dump($data), "\n";
DESCRIPTION
A Serializer allows you to serialize a structure of data of arbitrary depth to a scalar and deserialize it back to the structure.
The Yaml serializer uses YAML as the serialized form of the data. It uses the "YAML.pm" module from CPAN to perform the deserialization and serialization.
Class: App::Serializer::Yaml
* Throws: App::Exception::Serializer
* Since: 0.01
Design
The class is entirely made up of static (class) methods. However, they are each intended to be called as methods on the instance itself.
Constructor Methods:
new()
The constructor is inherited from App::Service
.
Public Methods:
serialize()
* Signature: $yaml = $serializer->serialize(@data);
* Param: @data any
* Return: $yaml text
* Throws: App::Exception::Serializer
* Since: 0.01
Sample Usage:
$context = App->context();
$serializer = $context->service("Serializer"); # or ...
$serializer = $context->serializer();
$data = {
an => 'arbitrary',
collection => [ 'of', 'data', ],
of => {
arbitrary => 'depth',
},
};
$yaml = $serializer->serialize($data);
deserialize()
* Signature: @data = $serializer->deserialize($yaml);
* Signature: @data = App::Serializer->deserialize($yaml);
* Param: $yaml text
* Return: @data any
* Throws: App::Exception::Serializer
* Since: 0.01
Sample Usage:
$context = App->context();
$serializer = $context->service("Serializer"); # or ...
$serializer = $context->serializer();
$data = $serializer->deserialize($yaml);
print $serializer->dump($data), "\n";
serialized_content_type()
* Signature: $serialized_content_type = $service->serialized_content_type();
* Param: void
* Return: $serialized_content_type string
* Throws: App::Exception
* Since: 0.01
Sample Usage:
$serialized_content_type = $service->serialized_content_type();
dump()
This method is inherited from App::Serializer
.
ACKNOWLEDGEMENTS
* Author: Stephen Adkins <spadkins@gmail.com>
* License: This is free software. It is licensed under the same terms as Perl itself.