diff options
Diffstat (limited to 'lib/dbshell/client')
-rw-r--r-- | lib/dbshell/client/database.rb | 34 | ||||
-rw-r--r-- | lib/dbshell/client/postgres.rb | 38 | ||||
-rw-r--r-- | lib/dbshell/client/sqlite3.rb | 26 |
3 files changed, 55 insertions, 43 deletions
diff --git a/lib/dbshell/client/database.rb b/lib/dbshell/client/database.rb index d77efce..35cb9ee 100644 --- a/lib/dbshell/client/database.rb +++ b/lib/dbshell/client/database.rb @@ -1,22 +1,26 @@ require 'dbshell/client/sqlite3' require 'dbshell/client/postgres' -class DBShell::DatabaseClient - def self.handler(connection_params) - case connection_params['adapter'] - when 'sqlite3' - DBShell::Sqlite3Client - when 'postgresql' - DBShell::PostgresClient - else - raise DBShell::InvalidDatabaseAdapter - end - end +module DBShell + module Client + class Database + def self.handler(connection_params) + case connection_params['adapter'] + when 'sqlite3' + DBShell::Client::Sqlite3 + when 'postgresql' + DBShell::Client::Postgres + else + raise DBShell::InvalidDatabaseAdapter + end + end - def self.runshell(connection_params) - self - .handler(connection_params) - .runshell(connection_params) + def self.runshell(connection_params) + self + .handler(connection_params) + .runshell(connection_params) + end + end end end diff --git a/lib/dbshell/client/postgres.rb b/lib/dbshell/client/postgres.rb index 1c1c663..0e33843 100644 --- a/lib/dbshell/client/postgres.rb +++ b/lib/dbshell/client/postgres.rb @@ -1,23 +1,27 @@ -class DBShell::PostgresClient - EXECUTABLE_NAME = 'psql' +module DBShell + module Client + class Postgres + EXECUTABLE_NAME = 'psql' - def self.runshell(db_info) - args = self.build_command(db_info) - exec(*args) - end + def self.runshell(db_info) + args = self.build_command(db_info) + exec(*args) + end - def self.build_command(db_info) - args = [EXECUTABLE_NAME] + def self.build_command(db_info) + args = [EXECUTABLE_NAME] - host = db_info['host'] - port = db_info['port'] - db_name = db_info['database'] - user = db_info['username'] - password = db_info['password'] + host = db_info['host'] + port = db_info['port'] + db_name = db_info['database'] + user = db_info['username'] + password = db_info['password'] - args.push('-U', user) if user - args.push('-h', host) if host - args.push('-p', port) if port - args.push(db_name) + args.push('-U', user) if user + args.push('-h', host) if host + args.push('-p', port) if port + args.push(db_name) + end + end end end diff --git a/lib/dbshell/client/sqlite3.rb b/lib/dbshell/client/sqlite3.rb index adc71ef..09b44f9 100644 --- a/lib/dbshell/client/sqlite3.rb +++ b/lib/dbshell/client/sqlite3.rb @@ -1,15 +1,19 @@ -class DBShell::Sqlite3Client - EXECUTABLE_NAME = 'sqlite3' +module DBShell + module Client + class Sqlite3 + EXECUTABLE_NAME = 'sqlite3' - def self.runshell(db_info) - args = self.build_command(db_info) - exec(*args) - end + def self.runshell(db_info) + args = self.build_command(db_info) + exec(*args) + end - def self.build_command(db_info) - args = [ - EXECUTABLE_NAME, - db_info['database'] - ] + def self.build_command(db_info) + args = [ + EXECUTABLE_NAME, + db_info['database'] + ] + end + end end end |