Sha256: 7b0b439bd22fc6a9fe110188dc045978f0598f2cc6f0be3ab537a49deac1ce72

Contents?: true

Size: 566 Bytes

Versions: 5

Compression:

Stored size: 566 Bytes

Contents

module Hucpa
  class ConnectionPool
    java_import com.zaxxer.hikari.HikariDataSource

    def initialize(options)
      @options = options
      @hikari_config = Configuration.new(options).to_hikari_config
    end

    def open
      datasource
    end

    def close
      datasource.close
    end

    def with_connection
      conn = datasource.connection

      yield conn
    ensure
      conn.close
    end

    private

    attr_reader :hikari_config, :options

    def datasource
      @datasource ||= HikariDataSource.new(hikari_config)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hucpa-0.2.5-java lib/hucpa/connection_pool.rb
hucpa-0.2.4-jruby lib/hucpa/connection_pool.rb
hucpa-0.2.3-jruby lib/hucpa/connection_pool.rb
hucpa-0.2.2-jruby lib/hucpa/connection_pool.rb
hucpa-0.2.1-jruby lib/hucpa/connection_pool.rb