Sha256: c6078674b916cae6004cef24d3f3d2403d793d933006b155357969419096bae1

Contents?: true

Size: 803 Bytes

Versions: 8

Compression:

Stored size: 803 Bytes

Contents

module Lotus
  module Model
    module Adapters
      module Sql
        class Console
          extend Forwardable

          def_delegator :console, :connection_string

          def initialize(uri)
            @uri = URI.parse(uri)
          end

          private

          def console
            case @uri.scheme
            when 'sqlite'
              require 'lotus/model/adapters/sql/consoles/sqlite'
              Consoles::Sqlite.new(@uri)
            when 'postgres'
              require 'lotus/model/adapters/sql/consoles/postgresql'
              Consoles::Postgresql.new(@uri)
            when 'mysql', 'mysql2'
              require 'lotus/model/adapters/sql/consoles/mysql'
              Consoles::Mysql.new(@uri)
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
lotus-model-0.5.2 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.5.1 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.5.0 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.4.1 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.4.0 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.3.2 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.3.1 lib/lotus/model/adapters/sql/console.rb
lotus-model-0.3.0 lib/lotus/model/adapters/sql/console.rb