File: Film.pm

package info (click to toggle)
libclass-dbi-perl 0.96-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 388 kB
  • ctags: 229
  • sloc: perl: 1,933; makefile: 43
file content (52 lines) | stat: -rw-r--r-- 1,097 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package Film;

BEGIN { unshift @INC, './t/testlib'; }
use base 'CDBase';
use strict;

__PACKAGE__->table('Movies');
__PACKAGE__->columns('Primary',   'Title');
__PACKAGE__->columns('Essential', qw( Title ));
__PACKAGE__->columns('Directors', qw( Director CoDirector ));
__PACKAGE__->columns('Other',     qw( Rating NumExplodingSheep HasVomit ));

sub CONSTRUCT {
	my $class = shift;
	$class->create_movies_table;
	$class->make_bad_taste;
}

sub create_movies_table {
	my $class = shift;
	$class->db_Main->do(
		qq{
     CREATE TABLE Movies (
        title                   VARCHAR(255),
        director                VARCHAR(80),
        codirector              VARCHAR(80),
        rating                  CHAR(5),
        numexplodingsheep       INTEGER,
        hasvomit                CHAR(1)
    )
  }
	);
}

sub make_bad_taste {
	my $class = shift;
	$class->create(
		{
			Title             => 'Bad Taste',
			Director          => 'Peter Jackson',
			Rating            => 'R',
			NumExplodingSheep => 1
		}
	);
}

package DeletingFilm;

use base 'Film';
sub DESTROY { shift->delete }

1;