aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dbshell/database_client.rb
diff options
context:
space:
mode:
authorTeddy Wing2017-04-29 20:20:49 +0200
committerTeddy Wing2017-04-29 20:23:08 +0200
commitf1c4164aef7ef88735a254e1301c3e4bf5978714 (patch)
tree5453a707a8f547eeda908b9debd9206839f73a0d /lib/dbshell/database_client.rb
parent1156010222a51643c7921aa953aad052e91b666c (diff)
downloaddbshell-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.rb9
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