File Coverage

blib/lib/SQL/Translator/Parser/Storable.pm
Criterion Covered Total %
statement 15 22 68.1
branch 0 4 0.0
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 20 33 60.6


line stmt bran cond sub pod time code
1             package SQL::Translator::Parser::Storable;
2              
3             =head1 NAME
4              
5             SQL::Translator::Parser::Storable - parser for Schema objects serialized
6             with the Storable module
7              
8             =head1 SYNOPSIS
9              
10             use SQL::Translator;
11              
12             my $translator = SQL::Translator->new;
13             $translator->parser('Storable');
14              
15             =head1 DESCRIPTION
16              
17             Slurps in a Schema from a Storable file on disk. You can then turn
18             the data into a database tables or graphs.
19              
20             =cut
21              
22 2     2   2071 use strict;
  2         6  
  2         53  
23 2     2   8 use warnings;
  2         4  
  2         104  
24             our $VERSION = '1.6_3';
25              
26             our $DEBUG;
27             $DEBUG = 0 unless defined $DEBUG;
28              
29 2     2   1205 use Storable;
  2         5545  
  2         139  
30 2     2   430 use SQL::Translator::Utils qw(debug normalize_name);
  2         4  
  2         106  
31              
32 2     2   14 use base qw(Exporter);
  2         4  
  2         376  
33             our @EXPORT_OK = qw(parse);
34              
35             sub parse {
36 0     0 0   my ($translator, $data) = @_;
37              
38 0 0         if (defined($data)) {
    0          
39 0           $translator->{'schema'} = Storable::thaw($data);
40 0           return 1;
41             } elsif (defined($translator->filename)) {
42 0           $translator->{'schema'} = Storable::retrieve($translator->filename);
43 0           return 1;
44             }
45              
46 0           return 0;
47             }
48              
49             1;
50              
51             =pod
52              
53             =head1 SEE ALSO
54              
55             SQL::Translator.
56              
57             =head1 AUTHOR
58              
59             Paul Harrington Eharringp@deshaw.comE.
60              
61             =cut