diff options
| author | Teddy Wing | 2017-04-29 22:21:01 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2017-04-29 22:21:01 +0200 | 
| commit | 46b019abd520870ab159b60c03c45675f64dd88a (patch) | |
| tree | 7204226a8129cf40a4723c9def1a4e01c6e663fb /lib | |
| parent | 6f4057392857313355769de7fea293b5e50f0779 (diff) | |
| download | dbshell-rails-46b019abd520870ab159b60c03c45675f64dd88a.tar.bz2 | |
Rename database client classes
Update our class names to reflect the new file structure introduced in
b700c1bef89a67a64f1040fb6bb03c0320eefe91.
Use the
    module DBShell
      module Client
      end
    end
syntax intead of `DBShell::Client` so that we don't have to define the
`Client` module in a separate file and require it. Otherwise we'd get an
error:
    lib/dbshell/client/sqlite3.rb:1:in `<top (required)>': uninitialized constant DBShell::Client (NameError)
Diffstat (limited to 'lib')
| -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 | ||||
| -rw-r--r-- | lib/dbshell/rails/tasks/dbshell.rake | 2 | 
4 files changed, 56 insertions, 44 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 diff --git a/lib/dbshell/rails/tasks/dbshell.rake b/lib/dbshell/rails/tasks/dbshell.rake index c7d3a93..cc898a4 100644 --- a/lib/dbshell/rails/tasks/dbshell.rake +++ b/lib/dbshell/rails/tasks/dbshell.rake @@ -3,7 +3,7 @@ require 'dbshell/client/database'  task :dbshell do    env = ENV.fetch('RAILS_ENV', 'development') -  DBShell::DatabaseClient.runshell( +  DBShell::Client::Database.runshell(      Rails.application.config.database_configuration[env]    )  end | 
