aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dbshell
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dbshell')
-rw-r--r--lib/dbshell/client/postgres.rb4
-rw-r--r--lib/dbshell/exec_alias.rb11
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/dbshell/client/postgres.rb b/lib/dbshell/client/postgres.rb
index 78b82d7..9979710 100644
--- a/lib/dbshell/client/postgres.rb
+++ b/lib/dbshell/client/postgres.rb
@@ -1,3 +1,5 @@
+require 'dbshell/exec_alias'
+
module DBShell
module Client
class Postgres
@@ -5,7 +7,7 @@ module DBShell
def self.runshell(db_info)
args = self.build_command(db_info)
- exec(*args)
+ DBShell::ExecAlias.exec(args)
end
def self.build_command(db_info)
diff --git a/lib/dbshell/exec_alias.rb b/lib/dbshell/exec_alias.rb
new file mode 100644
index 0000000..7bd86b7
--- /dev/null
+++ b/lib/dbshell/exec_alias.rb
@@ -0,0 +1,11 @@
+module DBShell
+ class ExecAlias
+ def self.exec(command_args)
+ Kernel.exec(*self.build_command(command_args))
+ end
+
+ def self.build_command(command_args)
+ [ENV['SHELL'], '--login', '-c', command_args.join(' ')]
+ end
+ end
+end