em-synchrony 0.3.0.beta.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.rspec +1 -0
- data/Gemfile +7 -5
- data/README.md +121 -91
- data/Rakefile +7 -1
- data/em-synchrony.gemspec +2 -2
- data/lib/em-synchrony.rb +29 -5
- data/lib/em-synchrony/active_record/connection_adapters/em_mysql2_adapter.rb +18 -0
- data/lib/em-synchrony/active_record/patches.rb +132 -0
- data/lib/em-synchrony/activerecord.rb +5 -0
- data/lib/em-synchrony/connection_pool.rb +3 -3
- data/lib/em-synchrony/em-hiredis.rb +24 -0
- data/lib/em-synchrony/em-http.rb +10 -6
- data/lib/em-synchrony/em-mongo.rb +80 -13
- data/lib/em-synchrony/em-redis.rb +29 -6
- data/lib/em-synchrony/em-remcached.rb +43 -19
- data/lib/em-synchrony/fiber_iterator.rb +18 -0
- data/lib/em-synchrony/keyboard.rb +33 -0
- data/lib/em-synchrony/mongo.rb +19 -1
- data/lib/em-synchrony/mysql2.rb +25 -0
- data/spec/activerecord_spec.rb +50 -0
- data/spec/em-mongo_spec.rb +192 -28
- data/spec/fiber_iterator_spec.rb +39 -0
- data/spec/helper/all.rb +2 -1
- data/spec/hiredis_spec.rb +40 -0
- data/spec/http_spec.rb +23 -0
- data/spec/keyboard_spec.rb +59 -0
- data/spec/{mysqlplus_spec.rb → mysql2_spec.rb} +26 -14
- data/spec/redis_spec.rb +39 -0
- data/spec/synchrony_spec.rb +14 -0
- data/spec/timer_spec.rb +35 -0
- metadata +52 -60
- data/examples/bitly.rb +0 -25
- data/lib/em-synchrony/em-bitly.rb +0 -58
- data/lib/em-synchrony/em-mysqlplus.rb +0 -27
@@ -1,27 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require "mysqlplus"
|
3
|
-
require "em-mysqlplus"
|
4
|
-
rescue LoadError => error
|
5
|
-
raise "Missing EM-Synchrony dependency: gem install mysqlplus, gem install em-mysqlplus"
|
6
|
-
end
|
7
|
-
|
8
|
-
module EventMachine
|
9
|
-
class MySQL
|
10
|
-
|
11
|
-
alias :aquery :query
|
12
|
-
def query(sql, &blk)
|
13
|
-
f = Fiber.current
|
14
|
-
|
15
|
-
# TODO: blk case does not work. Hmm?
|
16
|
-
cb = Proc.new { |r| f.resume(r) }
|
17
|
-
eb = Proc.new { |r| f.resume(r) }
|
18
|
-
|
19
|
-
@connection.execute(sql, cb, eb)
|
20
|
-
|
21
|
-
result = Fiber.yield
|
22
|
-
raise result if Mysql::Error == result.class
|
23
|
-
result
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|