line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
1
|
|
|
1
|
|
19664
|
use strict; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
49
|
|
2
|
|
|
|
|
|
|
package Env::Heroku::Pg; |
3
|
|
|
|
|
|
|
our $AUTHORITY = 'cpan:PNU'; |
4
|
|
|
|
|
|
|
# ABSTRACT: env for heroku-postgresql |
5
|
|
|
|
|
|
|
|
6
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
31
|
|
7
|
1
|
|
|
1
|
|
845
|
use URI; |
|
1
|
|
|
|
|
11603
|
|
|
1
|
|
|
|
|
1684
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
our $VERSION = '0.003'; # VERSION |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
sub import { |
12
|
1
|
|
|
1
|
|
17
|
my ($self) = @_; |
13
|
|
|
|
|
|
|
|
14
|
1
|
|
|
|
|
4
|
my $dburl = $ENV{DATABASE_URL}; |
15
|
1
|
50
|
33
|
|
|
8
|
if ( $dburl and $dburl =~ s/^postgres:// ) { |
16
|
0
|
|
|
|
|
0
|
my $pgurl = URI->new( $dburl, 'http' ); |
17
|
0
|
|
|
|
|
0
|
$ENV{PGHOST} = $pgurl->host; |
18
|
0
|
|
|
|
|
0
|
$ENV{PGPORT} = $pgurl->port; |
19
|
0
|
|
|
|
|
0
|
$ENV{PGDATABASE} = substr $pgurl->path, 1; |
20
|
0
|
|
|
|
|
0
|
($ENV{PGUSER},$ENV{PGPASSWORD}) = split ':', $pgurl->userinfo; |
21
|
|
|
|
|
|
|
|
22
|
0
|
|
|
|
|
0
|
$ENV{DBI_DRIVER} = 'Pg'; |
23
|
0
|
|
|
|
|
0
|
$ENV{DBI_DSN} = 'dbi:Pg:'.$ENV{PGDATABASE}.'@'.$ENV{PGHOST}.':'.$ENV{PGPORT}; |
24
|
0
|
|
|
|
|
0
|
$ENV{DBI_USER} = $ENV{PGUSER}; |
25
|
0
|
|
|
|
|
0
|
$ENV{DBI_PASS} = $ENV{PGPASSWORD}; |
26
|
|
|
|
|
|
|
} |
27
|
|
|
|
|
|
|
|
28
|
1
|
|
|
|
|
15
|
return 1; |
29
|
|
|
|
|
|
|
} |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
1; |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
__END__ |