diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dbshell/client/postgres.rb | 4 | ||||
-rw-r--r-- | lib/dbshell/exec_alias.rb | 11 |
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 |