2 use ExtUtils::MakeMaker;
4 # See lib/ExtUtils/MakeMaker.pm for details of how to influence
5 # the contents of the Makefile that is written.
8 VERSION_FROM => 'lib/Maypole.pm', # finds $VERSION
10 Class::DBI::Loader => '0.02',
11 Class::DBI::AbstractSearch => 0,
12 Class::DBI::Pager => 0,
13 Class::DBI::Plugin::RetrieveAll => 0,
14 Class::DBI::AsForm => 2.2,
15 Class::DBI::FromCGI => 0.94,
16 Class::DBI::Loader::Relationship => 0,
18 Class::DBI::SQLite => 0,
20 CGI::Untaint::date => 0,
21 CGI::Untaint::email => 0,
22 UNIVERSAL::moniker => 0,
23 UNIVERSAL::require => 0,
27 HTTP::Headers => 1.59,
30 Template::Plugin::Class => 0,
31 Test::MockModule => 0,
33 File::MMagic::XS => 0.08,
34 Class::DBI::Plugin::Type => 0,
35 }, # e.g., Module::Name => 1.1
38 ? ## Add these new keywords supported since 5.005
40 ABSTRACT_FROM => 'lib/Maypole.pm', # retrieve abstract from module
41 AUTHOR => 'Aaron TEEJAY Trevena <teejay#droogs.org>'
48 my ($module, $version) = @_;
49 (my $file = "$module.pm") =~ s/::/\//g;
50 eval {require $file} or return;
51 return ($module->VERSION || 0) >= $version;
54 if ( !-e "t/beerdb.db" ) {
55 print "Making SQLite DB\n";
56 my $driver = 'SQLite';
57 eval { require DBD::SQLite } or do {
58 print "Error loading DBD::SQLite, trying DBD::SQLite2\n";
59 eval {require DBD::SQLite2} ? $driver = 'SQLite2'
60 : die "DBD::SQLite2 is not installed";
63 my $dbh = DBI->connect("dbi:$driver:dbname=t/beerdb.db");
64 my $sql = join( '', (<DATA>) );
66 for my $statement ( split /;/, $sql ) {
67 $statement =~ s/\#.*$//mg; # strip # comments
68 $statement =~ s/auto_increment//g;
69 next unless $statement =~ /\S/;
70 eval { $dbh->do($statement) };
71 die "$@: $statement" if $@;
77 create table brewery (
78 id integer auto_increment primary key,
85 id integer auto_increment primary key,
97 create table handpump (
98 id integer auto_increment primary key,
104 id integer auto_increment primary key,
111 id integer auto_increment primary key,
116 INSERT INTO beer (id, brewery, name, abv) VALUES
117 (1, 1, "Organic Best Bitter", "4.1");
118 INSERT INTO brewery (id, name, url) VALUES
119 (1, "St Peter's Brewery", "http://www.stpetersbrewery.co.uk/");
120 INSERT INTO pub (id, name) VALUES (1, "Turf Tavern");
121 INSERT INTO handpump (id, pub, beer) VALUES (1, 1,1);