/[Frey]/trunk/lib/App/RoomReservation.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/App/RoomReservation.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1086 by dpavlin, Sun Jun 28 14:21:10 2009 UTC revision 1147 by dpavlin, Wed Jul 1 17:35:48 2009 UTC
# Line 3  use Moose; Line 3  use Moose;
3    
4  extends 'Frey';  extends 'Frey';
5  with 'Frey::Web';  with 'Frey::Web';
 #with 'Frey::Storage';  
6    
7  with 'App::RoomReservation::Room';  use lib 'lib';
8    use App::RoomReservation::Room;
9    
10    sub dsn { 'DBI:Pg:dbname=room-reservation' }
11    
12    our $dbh;
13    sub dbh {
14            my ($self) = @_;
15    
16            return $dbh if defined $dbh;
17    
18            $dbh = DBI->connect( $self->dsn, '', '', { RaiseError => 1 } ) || die $DBI::errstr;
19            $dbh->do( qq{ set client_encoding='utf-8' } ) if $self->dsn =~ m{pg}i;
20    
21            return $dbh;
22    }
23    
24  sub as_markup {  sub as_markup {
25          my ($self) = @_;          my ($self) = @_;
26    
27          $self->room_markup  
28            my $url = $self->url_for( 'Reservation/create_as_markup' );
29    
30            return
31                    App::RoomReservation::Room->new->room_markup
32                    . qq|<a target="App::RoomReservation::Reservation" href="$url">seat reservation</a>|
33                    ;
34  }  }
35    
36    # my $url = $self->uri_for( 'Reservation/create_as_makrup' );
37    
38    sub url_for {
39            my ( $self, $to ) = @_;
40            my $app = ref($self);
41            $app =~ s{^(App::[^:]+)::.+$}{$1};
42            $app .= '::' . $to;
43    
44            my ( $class, $method ) = split(m{/}, $app);
45            $method =~ s{\?.+$}{};  # remove arguments
46            Class::MOP::load_class( $class );
47            die "$class doesn't implement $method" unless $class->meta->has_method($method);
48    
49            return "http://192.168.1.13:3000/$app";
50    }
51    
52    __PACKAGE__->meta->make_immutable;
53    no Moose;
54    
55  1;  1;

Legend:
Removed from v.1086  
changed lines
  Added in v.1147

  ViewVC Help
Powered by ViewVC 1.1.26