File Coverage

blib/lib/Metabrik/String/Dump.pm
Criterion Covered Total %
statement 9 26 34.6
branch 0 10 0.0
condition n/a
subroutine 3 6 50.0
pod 1 3 33.3
total 13 45 28.8


line stmt bran cond sub pod time code
1             #
2             # $Id$
3             #
4             # string::dump Brik
5             #
6             package Metabrik::String::Dump;
7 1     1   763 use strict;
  1         3  
  1         30  
8 1     1   5 use warnings;
  1         2  
  1         27  
9              
10 1     1   5 use base qw(Metabrik);
  1         2  
  1         373  
11              
12             sub brik_properties {
13             return {
14 0     0 1   revision => '$Revision$',
15             tags => [ qw(unstable encode decode) ],
16             author => 'GomoR ',
17             license => 'http://opensource.org/licenses/BSD-3-Clause',
18             attributes => {
19             use_identation => [ qw(0|1) ],
20             use_base64 => [ qw(0|1) ],
21             strip_crlf => [ qw(0|1) ],
22             },
23             attributes_default => {
24             use_identation => 1,
25             use_base64 => 0,
26             strip_crlf => 0,
27             },
28             commands => {
29             encode => [ qw($data) ],
30             decode => [ qw($data) ],
31             },
32             require_modules => {
33             'Data::Dump' => [ ],
34             },
35             };
36             }
37              
38             sub encode {
39 0     0 0   my $self = shift;
40 0           my ($data) = @_;
41              
42 0 0         $self->brik_help_run_undef_arg('encode', $data) or return;
43              
44 0 0         if (! $self->use_identation) {
45 0           $Data::Dump::INDENT = ""; # No indentation shorten length
46             }
47 0 0         if (! $self->use_base64) {
48 0           $Data::Dump::TRY_BASE64 = 0; # Never encode in base64
49             }
50              
51 0           my $encoded = Data::Dump::dump($data);
52              
53 0 0         if ($self->strip_crlf) {
54 0           $encoded =~ s{\n}{}g;
55             }
56              
57 0           return $encoded;
58             }
59              
60             sub decode {
61 0     0 0   my $self = shift;
62 0           my ($data) = @_;
63              
64 0 0         $self->brik_help_run_undef_arg('decode', $data) or return;
65              
66 0           my $decoded = eval($data);
67              
68 0           return $decoded;
69             }
70              
71             1;
72              
73             __END__