Remove copyright headers from individual scripts
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser / Storable.pm
CommitLineData
f6595170 1package SQL::Translator::Parser::Storable;
2
f6595170 3=head1 NAME
4
df32118c 5SQL::Translator::Parser::Storable - parser for Schema objects serialized
6 with the Storable module
f6595170 7
8=head1 SYNOPSIS
9
10 use SQL::Translator;
f6595170 11
12 my $translator = SQL::Translator->new;
df32118c 13 $translator->parser('Storable');
f6595170 14
15=head1 DESCRIPTION
16
17Slurps in a Schema from a Storable file on disk. You can then turn
18the data into a database tables or graphs.
19
20=cut
21
22use strict;
da06ac74 23use vars qw($DEBUG $VERSION @EXPORT_OK);
f6595170 24$DEBUG = 0 unless defined $DEBUG;
11ad2df9 25$VERSION = '1.59';
f6595170 26
27use Storable;
28use Exporter;
29use SQL::Translator::Utils qw(debug normalize_name);
30
31use base qw(Exporter);
32
33@EXPORT_OK = qw(parse);
34
35sub parse {
36 my ($translator, $data) = @_;
37
ca0022de 38 if (defined($data)) {
39 $translator->{'schema'} = Storable::thaw($data);
40 return 1;
41 } elsif (defined($translator->filename)) {
42 $translator->{'schema'} = Storable::retrieve($translator->filename);
43 return 1;
44 }
f6595170 45
ca0022de 46 return 0;
f6595170 47}
48
491;
50
df32118c 51# -------------------------------------------------------------------
52
f6595170 53=pod
54
55=head1 SEE ALSO
56
b57555af 57SQL::Translator.
f6595170 58
b57555af 59=head1 AUTHOR
f6595170 60
df32118c 61Paul Harrington E<lt>harringp@deshaw.comE<gt>.
f6595170 62
63=cut