j4mie/idiorm — pull request #76 by tag (2012-11-24 04:02:55+00:00)
Title: Multiple connections implementation

Addresses j4mie/idiorm#15. Also includes pull request #75 (a consequence of me still getting comfortable with git and github).

Pull request is to your dev branch, so you can tinker/adjust/etc., as needed. Change log not updated in this commit.

Implements multiple connections, including documentation and unit tests.
Utilizes key names to distinguish connections, but uses a default
connection if none specified. I don't (yet) use multiple connections in
my work (it's pending), so this has not been tested "in the wild".

Added unit tests with additional connections, ran unit tests for Paris
against this build too, so an unmodified Paris is forward-compatible
with this commit (mulitple connections support not yet coded for Paris).

Does *NOT* add support for queries across multiple connections. (I
don't even want to go there ...)

##### Edge-case compatibility breaks:

* `ORM::_setup_identifier_quote_character` visibility was changed to
`protected` from `public` (which was likely original intent, judging by prefixed name)

* May break compatibility if `ORM` has been extended, **and** subclasses
directly utilize `::_config`, `::_db`, `::_query_log`, or
`::_query_cache` instead of using pre-existing accessor methods. (Paris
does not do this; all Paris tests pass)

* Re-use of `Tester` class outside of Idiorm repo, as
`Tester::check_equal()` was renamed to `Tester::check_equal_query()`

##### Other notes
New method: `ORM::get_connection_keys()`.
New `Tester` method: `Tester::check_equal_string()`.

TODO: Consider adding methods to get (connection-specific)
configuration info.