Data-FlexSerializer

 view release on metacpan or  search on metacpan

lib/Data/FlexSerializer.pm  view on Meta::CPAN

=head1 CLASS METHODS

=head2 add_format

C<add_format> class method to add support for custom formats.

  Data::FlexSerializer->add_format(
      data_dumper => {
          serialize   => sub { shift; goto \&Data::Dumper::Dumper },
          deserialize => sub { shift; my $VAR1; eval "$_[0]" },
          detect      => sub { $_[1] =~ /\$[\w]+\s*=/ },
      }
  );

  my $flex_to_dd = Data::FlexSerializer->new(
    detect_data_dumper => 1,
    output_format => 'data_dumper',
  );

=head1 AUTHOR

t/40add_format.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More tests => 3;
use Data::FlexSerializer;
use Data::Dumper ();

Data::FlexSerializer->add_format(
    data_dumper => {
        serialize   => sub { shift; goto \&Data::Dumper::Dumper },
        deserialize => sub { shift; my $VAR1; eval "$_[0]" },
        detect      => sub { $_[1] =~ /\$[\w]+\s*=/ },
    }
);

ok(Data::FlexSerializer->has_format('data_dumper'), "We have a data_dumper format");
is(scalar Data::FlexSerializer->supported_formats, 4, "We have 4 formats now");

my $flex_to_dd = Data::FlexSerializer->new(
  detect_data_dumper => 1,
  output_format => 'data_dumper',
);



( run in 0.279 second using v1.01-cache-2.11-cpan-b61123c0432 )