The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    MooseX::Role::DBIx::Connector - give your Moose class DBIx::Connector
    powers

SYNOPSIS
      package MyClass;
      use Moose;
      with 'MooseX::Role::DBIx::Connector';

      package main;

      my $c = MyClass->new(
          db_dsn  => 'dbi:Pg:dbname=foo;host=bar',
          db_user => 'mikey',
          db_password => 'seekrit',
          db_attrs => { Foo => 'Bar' },
         );

      $c->db_conn->dbh->selectall_arrayref( ... );

      $c->db_conn->txn( fixup => sub { ... } );


      ### more advanced usage

      package BigClass;
      use Moose;
      with 'MooseX::Role::DBIx::Connector' => { connection_name => 'itchy'    };
      with 'MooseX::Role::DBIx::Connector' => { connection_name => 'scratchy' };

      package main;

      my $c = BigClass->new(
          itchy_dsn  => 'dbi:Pg:dbname=foo;host=bar',
          itchy_user => 'mikey',
          itchy_password => 'seekrit',

          scratchy_dsn   => 'dbi:SQLite:dbname=somefile',
         );

      $c->itchy_conn->dbh->selectall_arrayref( ... );
      $c->scratchy_conn->txn( fixup => sub { ... } );

DESCRIPTION
    Generic parameterized Moose role to give your class accessors to manage
    one or more DBIx::Connector connections.

ROLE PARAMETERS
connection_name
    Name for this connection, which is the prefix for all the generated
    accessors. Default 'db', which means that you get the accessors
    "db_dsn", "db_user", "db_password", "db_attrs", and "db_conn".

connection_description
    Plaintext description of this connection. Only used in generating
    "documentation" for each of the generated accessors.

accessor_options
    Hashref of additional options to pass to the generated accessors, e.g.

      package MyClass;
      use Moose;
      with 'MooseX::Role::DBIx::Connector' => {
        connection_name  => 'itchy',
        accessor_options => { 'itchy_dsn'  => [ traits => ['GetOpt'], ],
                              'itchy_user' => [ default => 'minnie_the_moocher' ],
                            }
      };

ATTRIBUTES
  (connection_name)_conn
    Get a DBIx::Connector connection object for the given connection info.

  (connection_name)_dsn
    DBI DSN for your connection. Required.

  (connection_name)_user
    Username for the connection.

  (connection_name)_password
    Password for the connection.

  (connection_name)_attrs
    Hashref of DBI attributes for the connection. Passed to DBIx::Connector,
    which passes them to DBI's connect()

AUTHOR
    Robert Buels, <rmb32@cornell.edu>