Class-Maker
view release on metacpan or search on metacpan
lib/Class/Maker/Examples/Soccer.pm view on Meta::CPAN
#
# PS: Zum ersetzen von Object::Auth
Class::Maker::class 'Sicherheit::Raum',
{
isa => [qw(Object::Auth)],
public =>
{
#int => [qw( groesse )],
array => { besucher => 'Mensch', waechter => 'Sicherheit::Waechter::Raeume' },
},
};
Class::Maker::class 'Sicherheit::Raum::Bewacht',
{
isa => [qw( Sicherheit::Raum )],
public =>
{
array => { waechter => 'Sicherheit::Waechter::Raeume' },
},
};
Class::Maker::class 'Raum::Tippen',
{
isa => [qw(Sicherheit::Raum)],
}
1;
__END__
my @vereine = qw( Hertha München Bayern Rostock Bremen Dortmund Stuttgart );
my @schiris = qw( Murat Firat Mehmet Elias Sülo Hans Franz Horst );
for (1..10)
{
my $spiel = new Spiel(
elfmeter => "ja",
schiedsrichter => new Spiel::Schiedsrichter( name => $schiris[ rand(@schiris-1) ] ),
mannschaften =>
[
new Spiel::Mannschaft( name => $vereine[ rand(@vereine-1) ] ),
new Spiel::Mannschaft( name => $vereine[ rand(@vereine-1) ] ),
],
);
$spiel->printout();
#print $spiel->to_html( type => 'FILE', source => 'spiel.tmpl' );
}
my $formular = new Formular::Antrag::Anmeldung();
# wir simulieren ein ausgefülltes formular
$formular->antragsteller( new Mensch( name => 'Horst', email => 'horsttappert@web.de' ) );
# Wir brauchen einen Waechter (Object::Bouncer) der:
# - die Formulare auf ihre Rightigkeit überprüft.
#
# )=> 'Sicherheit::Waechter::Anmeldung'
# Beim Login:
# - den Schatzmeister fragt ob dieser User eintreten darf, wenn nicht
# ihn darauf hinweist zu zahlen.
#
# )=> 'Sicherheit::Waechter::Anmeldung'
# Wir testen die Registrierung
#
# # 1. Der Mensch begleicht beim Schatzmeister seinen Eintritt
# # a) Falls der Schatzmeister bestätigt dass der Mensch bezahlt hat.
# # - Akzeptiert der Spielleiter den Menschen zum Mitglied
# # - Schicken wir dem glücklichen Mitglied eine email
# # b) Fall noch nicht bezahlt
# # - Weisen wir Ihn darauf hin und lehnen ein einloggen des Menschen noch ab
my $schatzmeister = new Schatzmeister( name => 'Dagobert' );
# dummy Zahlung
$schatzmeister->annehmen( $formular->antragsteller, 100, 'Eintritt' );
if( $schatzmeister->hatbezahlt( $formular->antragsteller ) )
{
# Voila ...Antrag akzeptiert ! der "antragsteller" wird zum mitgleid
my $mitglied = $spielleiter->akzeptiert( $formular->antragsteller );
printfln "\nHallo Herr %s, ihr Mitgliedname lautet %s und Passwort lautet %s. Herzliche Grüsse %s",
$mitglied->name, $mitglied->userid, $mitglied->passwd, $spielleiter->name;
# Und nun loggt sich das Mitglied ein
if( $mitglied->login( 'blubb' ) )
{
printfln "Login successfull for '%s'", $mitglied->userid;
$mitglied->debugDump();
$mitglied->logout();
}
print "after the login...";
$mitglied->debugDump();
}
else
{
# Mensch wurde abgelehnt
printfln "Hallo Herr %s, leider können wir sie noch nicht in unser Spiel aufnehmen. Sie müssen erst ihre Gebühr bezahlen. Herzliche Grüsse %s", $mensch->name, $spielleiter->name;
}
( run in 0.905 second using v1.01-cache-2.11-cpan-39bf76dae61 )