Sha256: 361090ce3aef1fba5a55d60a53be08b61099fe70c448311330456b09106b010c

Contents?: true

Size: 871 Bytes

Versions: 7

Compression:

Stored size: 871 Bytes

Contents

safe_require 'postgres-pr/message', 'gem install postgres-pr'

class Midori::Postgres
  attr_reader :connected

  def initialize(*args)
    @connected = false
    @db = EM.connect(*args, EM::P::Postgres3)
  end

  def connect(db_name, username, password)
    await(Promise.new(->(resolve, _reject) {
      @db.connect(db_name, username, password).callback do |status|
        @connected = status
        resolve.call(status)
      end
    }))
  end

  def query(sql)
    await(Promise.new(->(resolve, _reject) {
      begin
        @db.query(sql).callback do |status, result, errors|
          @connected = status
          resolve.call(Midori::Postgres::Result.new(result, errors))
        end
      end
    }))
  end
end

class Midori::Postgres::Result
  attr_reader :result, :errors
  def initialize(result, errors)
    @result = result
    @errors = errors
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
em-midori-0.1.6.1 lib/midori/extension/postgres.rb
em-midori-0.1.6 lib/midori/extension/postgres.rb
em-midori-0.1.5.4 lib/em-midori/extension/postgres.rb
em-midori-0.1.5.3 lib/em-midori/extension/postgres.rb
em-midori-0.1.5.2 lib/em-midori/extension/postgres.rb
em-midori-0.1.5.1 lib/em-midori/extension/postgres.rb
em-midori-0.1.5 lib/em-midori/extension/postgres.rb