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  | 
