Catalyst-Plugin-Authorization-Abilities

 view release on metacpan or  search on metacpan

t/lib/Schema/Utils.pm  view on Meta::CPAN

 is not defined in "  . $self->conf . " !";

  return $model
}


sub _connect_info {
  my $self = shift;

  my $model = $self->model;
  my ($dsn, $user, $password, $unicode_option, $db_type);
  eval {
        if (ref $model->{'connect_info'}) {

          $dsn      = $self->dsn;
          $user     = ${$model->{'connect_info'}}[1];
          $password = ${$model->{'connect_info'}}[2];

          # Determine database type amongst: SQLite, Pg or MySQL
          $dsn =~ m/^dbi:(\w+)/;
          $db_type = lc($1);
          my %unicode_connection_for_db = (
                'sqlite' => { sqlite_unicode    => 1 },
                'pg'     => { pg_enable_utf8    => 1 },
                'mysql'  => { mysql_enable_utf8 => 1 },

                );
          $unicode_option = $unicode_connection_for_db{$db_type};
        }
  };

  if ($@) {
    die "Your DSN line in " . $self->dsn . " doesn't look like a valid DSN. : $@";
  }
  die "No valid Data Source Name (DSN).\n" if !$dsn;
  $dsn =~ s/__HOME__/$FindBin::Bin\/\.\./g;

  if ( $db_type eq 'sqlite' ){
    $dsn =~ m/.*:(.*)$/;
    my $dir = dir($1)->parent;
    $dir->mkpath;
  }

  my $merge    = Hash::Merge->new( 'LEFT_PRECEDENT' );
  my $allattrs = $merge->merge( $unicode_option, $attrs );

  return $dsn, $user, $password, $allattrs;
}


sub _build_schema {
  my $self = shift;


  my $schema_class = $self->model->{schema_class};



( run in 0.377 second using v1.01-cache-2.11-cpan-88abd93f124 )