em-midori 0.1.4.1 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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