em-midori 0.1.4.1 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8eb56ad166b1af740a4fa22b34129cd1c7d7661d
4
- data.tar.gz: e6103dbed135744e21eaaf931ce2dda5e984ae72
3
+ metadata.gz: f432595f5783ebce17b63e45e546d7875c62202f
4
+ data.tar.gz: 7a1b441d9baa8c203fd588bd95c92ad2cc3a39dd
5
5
  SHA512:
6
- metadata.gz: 09a9e1b5b9661828e276593c224062b672bf5a99a360912143dc2d60df10756b6c9ab45e4841b3f7c9b8a4212709ea5c391a8eb0a256abdd86c4d0a48f35008d
7
- data.tar.gz: 245df6e2b0baf5c4c05996d61fd3884e1b725c8b7f76e28424971f24480767edbd38ca249e8e55268fd004de3784b667d6f01651fcb3121a5dc010c3da92997a
6
+ metadata.gz: 479fe680e641aab68cc929be341745bfc1a505774a554b2f8590253add2a25441f011ab88ad6a1f10f07016a7613196d660262bf1467a5a8f5a9e12c8c23cf67
7
+ data.tar.gz: 22714ec1d12f80e3dc2de87e8b1265e9391ae71f9cb0dccd92cd585f835c3b54f4efb5dcd4e4f328a1637f781568c5a5ecb2b5e6032a527a8296a64ae05bf6d3
data/lib/em-midori.rb CHANGED
@@ -13,6 +13,7 @@ require_relative 'em-midori/core_ext/promise'
13
13
  require_relative 'em-midori/core_ext/promise_exception'
14
14
  require_relative 'em-midori/core_ext/define_class'
15
15
  require_relative 'em-midori/core_ext/proc'
16
+ require_relative 'em-midori/core_ext/safe_require'
16
17
 
17
18
  require_relative 'em-midori/version'
18
19
  require_relative 'em-midori/const'
@@ -18,11 +18,11 @@ end
18
18
 
19
19
  class DeferPromise < Promise
20
20
  def initialize(deffered)
21
- super(->(resolve, reject){
21
+ super(->(resolve, _reject){
22
22
  EventMachine.defer(proc {
23
23
  begin
24
24
  deffered.call
25
- rescue Exception => e
25
+ rescue StandardError => e
26
26
  PromiseException.new(e)
27
27
  end
28
28
  }, proc { |result| resolve.call(result) })
@@ -0,0 +1,9 @@
1
+ module Kernel
2
+ def safe_require(file, prompt)
3
+ begin
4
+ require file
5
+ rescue LoadError => _e
6
+ raise prompt
7
+ end
8
+ end
9
+ end
@@ -1,11 +1,17 @@
1
+ safe_require 'postgres-pr/message', 'gem install postgres-pr'
2
+
1
3
  class Midori::Postgres
4
+ attr_reader :connected
5
+
2
6
  def initialize(*args)
7
+ @connected = false
3
8
  @db = EM.connect(*args, EM::P::Postgres3)
4
9
  end
5
10
 
6
11
  def connect(db_name, username, password)
7
12
  await(Promise.new(->(resolve, _reject) {
8
13
  @db.connect(db_name, username, password).callback do |status|
14
+ @connected = status
9
15
  resolve.call(status)
10
16
  end
11
17
  }))
@@ -15,7 +21,8 @@ class Midori::Postgres
15
21
  await(Promise.new(->(resolve, _reject) {
16
22
  begin
17
23
  @db.query(sql).callback do |status, result, errors|
18
- resolve.call(Midori::Postgres::Result.new(status, result, errors))
24
+ @connected = status
25
+ resolve.call(Midori::Postgres::Result.new(result, errors))
19
26
  end
20
27
  end
21
28
  }))
@@ -23,9 +30,8 @@ class Midori::Postgres
23
30
  end
24
31
 
25
32
  class Midori::Postgres::Result
26
- attr_reader :status, :result, :errors
27
- def initialize(status, result, errors)
28
- @status = status
33
+ attr_reader :result, :errors
34
+ def initialize(result, errors)
29
35
  @result = result
30
36
  @errors = errors
31
37
  end
@@ -0,0 +1,14 @@
1
+ safe_require 'sequel', 'gem install sequel'
2
+ require 'sequel/adapters/postgres'
3
+
4
+ module Sequel
5
+ module Postgres
6
+ class Adapter < ::PGconn
7
+ def execute_query(sql, args)
8
+ @db.log_connection_yield(sql, self, args) do
9
+ args ? await(defer{async_exec(sql, args)}) : await(defer{async_exec(sql)})
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,5 @@
1
1
  # Midori Module
2
2
  module Midori
3
3
  # Current Version Code
4
- VERSION = '0.1.4.1'.freeze
4
+ VERSION = '0.1.5'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-midori
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4.1
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - HeckPsi Lab
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2016-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.4'
55
- - !ruby/object:Gem::Dependency
56
- name: postgres-pr
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.7'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0.7'
69
55
  description: EM Midori is an EventMachine-based Web Framework written in pure Ruby,
70
56
  providing high performance and proper abstraction.
71
57
  email: business@heckpsi.com
@@ -86,11 +72,13 @@ files:
86
72
  - lib/em-midori/core_ext/proc.rb
87
73
  - lib/em-midori/core_ext/promise.rb
88
74
  - lib/em-midori/core_ext/promise_exception.rb
75
+ - lib/em-midori/core_ext/safe_require.rb
89
76
  - lib/em-midori/core_ext/string.rb
90
77
  - lib/em-midori/eventsource.rb
91
78
  - lib/em-midori/exception.rb
92
79
  - lib/em-midori/extension/file.rb
93
80
  - lib/em-midori/extension/postgres.rb
81
+ - lib/em-midori/extension/sequel.rb
94
82
  - lib/em-midori/middleware.rb
95
83
  - lib/em-midori/request.rb
96
84
  - lib/em-midori/response.rb