diff options
author | Teddy Wing | 2017-04-29 20:20:49 +0200 |
---|---|---|
committer | Teddy Wing | 2017-04-29 20:23:08 +0200 |
commit | f1c4164aef7ef88735a254e1301c3e4bf5978714 (patch) | |
tree | 5453a707a8f547eeda908b9debd9206839f73a0d /lib/dbshell/database_client.rb | |
parent | 1156010222a51643c7921aa953aad052e91b666c (diff) | |
download | dbshell-rails-f1c4164aef7ef88735a254e1301c3e4bf5978714.tar.bz2 |
dbshell.rake: Use `DBShell::DatabaseClient`
Instead of calling `DBShell::Sqlite3Client` directly, call the wrapper
class that will delegate to `Sqlite3Client`, `PostgresClient`, etc.
depending on the value of `adapter` in the database connection params
passed in.
This allows us to have a single interface that we can call from the Rake
task that can handle any of the database adapters that we support.
Diffstat (limited to 'lib/dbshell/database_client.rb')
-rw-r--r-- | lib/dbshell/database_client.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/dbshell/database_client.rb b/lib/dbshell/database_client.rb index 8d55095..edea777 100644 --- a/lib/dbshell/database_client.rb +++ b/lib/dbshell/database_client.rb @@ -1,3 +1,6 @@ +require 'dbshell/sqlite3_client' +require 'dbshell/postgres_client' + class DBShell::DatabaseClient def self.handler(connection_params) case connection_params['adapter'] @@ -9,6 +12,12 @@ class DBShell::DatabaseClient raise DBShell::InvalidDatabaseAdapter end end + + def self.runshell(connection_params) + self + .handler(connection_params) + .runshell(connection_params) + end end |