em-riak 0.2.7 → 0.2.8

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.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ em-riak-*
2
2
  .gitignore
3
3
  OLD_README.md
4
4
  lib/example.rb
5
+ lib/em-riak.rb
data/README.md CHANGED
@@ -81,7 +81,7 @@ Here provide some options that can do with each seperate request
81
81
 
82
82
  **Example**
83
83
 
84
- EmRiak.create("member5",{:replication=>{:w=>3,dw=>4,pw=>5}},{:name=>"HandsomeGuy"})
84
+ EmRiak.create("member5",{:replication=>{:n_val=>3}},{:name=>"HandsomeGuy"})
85
85
 
86
86
  **Available Options**
87
87
 
@@ -107,7 +107,13 @@ Use it directly as following :
107
107
  {"reduce"=> {"language"=> "erlang", "module"=>"riak_kv_mapreduce", "function"=>"reduce_identity", "keep"=>true} }
108
108
  ]})
109
109
 
110
+ ### Contributing
110
111
 
112
+ * Fork it
113
+ * Create your feature branch (git checkout -b my-new-feature)
114
+ * Commit your changes (git commit -am 'Add some feature')
115
+ * Push to the branch (git push origin my-new-feature)
116
+ * Create new Pull Request
111
117
 
112
118
  ### TO-DO
113
119
  Full Text Seacrh
data/em-riak.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'em-riak'
3
- s.version = '0.2.7'
4
- s.date = '2012-12-27'
3
+ s.version = '0.2.8'
4
+ s.date = '2012-12-28'
5
5
  s.summary = "Riak client for eventmachine"
6
6
  s.description = "An extremely fast and convenient riak client for eventmachine."
7
7
  s.authors = ["Von"]
data/lib/em-riak/basic.rb CHANGED
@@ -20,7 +20,7 @@ module EmRiak
20
20
  else
21
21
  EmRiak.bucket=RIAKBUCKET
22
22
  end
23
- EmRiak.replication={"W"=>3,"R"=>1} if EmRiak.replication.nil?
23
+ EmRiak.replication={"W"=>3,"R"=>1,"n_val"=>3} if EmRiak.replication.nil?
24
24
  EmRiak.debug=false if EmRiak.debug.nil?
25
25
  end
26
26
  end
@@ -89,7 +89,7 @@ module EmRiak
89
89
  data,callback=handle_callback(obj_key,"delete",opts,callback)
90
90
  operate_bucket= select_bucket(data)
91
91
  url="/buckets/#{operate_bucket}/keys/#{key_handler(obj_key)}"
92
- http("put",obj_key,url,data,callback)
92
+ http("delete",obj_key,url,data,callback)
93
93
  key=nil
94
94
  end
95
95
 
@@ -146,20 +146,8 @@ module EmRiak
146
146
  def http(method,key,url,data,callback=nil,res=nil)
147
147
  (callback || self.async && ["delete","put","post"].index(method) && key!="mapred") ? em_http(method,key,url,data,callback) : open_http(method,key,url,data)
148
148
  end
149
- def return_body_handler(string,hash_container,handle_type,handle_type_split_mapper={"hash"=>":","string"=>"=","common"=>","})
150
- hash_container={} if !hash_container
151
-
152
- string=string.gsub("{","").gsub("}","") if handle_type!="hash"
153
- split_by= hash_container.class==EmRiak::StorageObject ? "&" : ","
154
- string.split(split_by).each do |vars|
155
- key,value=vars.split(handle_type_split_mapper[handle_type])
156
- value=return_body_handler(value,nil,"hash") if value && value.index("{")
157
- value=json_decode("{#{value}}") if value && value.index(":") && value.index(",")
158
- hash_container[key.to_sym]=value if value
159
- end
160
- hash_container
161
- end
162
149
 
150
+ protected
163
151
  def open_http(method,key,url,data,res={})
164
152
  has_http_instance?
165
153
  data={:body=>{},:head=>{},:query=>{}} if !data
@@ -172,7 +160,6 @@ module EmRiak
172
160
 
173
161
  res=HTTPI.request(method.to_sym,http_client)
174
162
  res=res.body if res.class==HTTPI::Response
175
-
176
163
  res=handle_response_string_to_object(key,res,method,data)
177
164
 
178
165
  res=nil if res && res.class!=String && res.count<1
@@ -180,34 +167,6 @@ module EmRiak
180
167
  return res
181
168
  end
182
169
 
183
- def handle_response_string_to_object(key,res,method,data)
184
- raise "response can't be nil" if !res
185
-
186
- return res if key=="mapred"
187
- return nil if ["2i"].index(key)
188
-
189
- raise "data not found" if ["not found\n"].index(res)
190
- raise "method is not match" if !["get","put","post"].index(method)
191
- raise "data is empty" if method=="get" && res.gsub(" ","").length<1
192
-
193
- obj=EmRiak::StorageObject.new()
194
-
195
- if res && res!="not found\n" &&
196
- if res.class==String
197
- obj=return_body_handler(URI.unescape(res.force_encoding("UTF-8")).gsub("+"," ").gsub("=>",":"),obj,"string")
198
- elsif res.class==Hash
199
- res.each{|varkey,value| obj[varkey.to_sym]=value }
200
- end
201
-
202
- data.each{|k,v| obj[k]=v } if res.length<1
203
- obj[:riak_key]=key if obj.length>0
204
- end
205
- return obj
206
- rescue Exception=>e
207
- puts "handle response error reason #{e}" if EmRiak.debug
208
- return nil
209
- end
210
-
211
170
  def em_http(method,key,url,data,async_callback)
212
171
  data[:retry]=0 if !data[:retry]
213
172
  begin
@@ -262,6 +221,46 @@ module EmRiak
262
221
  res
263
222
  end
264
223
 
224
+ def handle_response_string_to_object(key,res,method,data)
225
+ raise "response can't be nil" if !res
226
+ return res if key=="mapred"
227
+ return nil if ["2i"].index(key)
228
+
229
+ raise "data not found" if ["not found\n"].index(res)
230
+ raise "method is not match" if !["get","put","post"].index(method)
231
+ raise "data is empty" if method=="get" && res.gsub(" ","").length<1
232
+
233
+ obj=EmRiak::StorageObject.new()
234
+
235
+ if res && res!="not found\n" &&
236
+ if res.class==String
237
+ obj=return_body_handler(URI.unescape(res.force_encoding("UTF-8")).gsub("+"," ").gsub("=>",":"),obj,"string")
238
+ elsif res.class==Hash
239
+ res.each{|varkey,value| obj[varkey.to_sym]=value }
240
+ end
241
+
242
+ data.each{|k,v| obj[k]=v } if res.length<1
243
+ obj[:riak_key]=key if obj.length>0
244
+ end
245
+ return obj
246
+ rescue Exception=>e
247
+ puts "handle response error reason #{e}" if EmRiak.debug
248
+ return nil
249
+ end
250
+
251
+ def return_body_handler(string,hash_container,origin_data_type,origin_data_type_split_mapper={"hash"=>":","string"=>"=","common"=>","})
252
+ hash_container={} if !hash_container
253
+ string=string.gsub("{","").gsub("}","") if origin_data_type!="hash"
254
+ split_by= hash_container.class==EmRiak::StorageObject ? "&" : ","
255
+ string.split(split_by).each do |vars|
256
+ key,value=vars.split(origin_data_type_split_mapper[origin_data_type])
257
+ value=return_body_handler(value,nil,"hash") if value && value.index("{")
258
+ value=json_decode("{#{value}}") if value && value.index(":") && value.index(",")
259
+ hash_container[key.to_sym]=value if value
260
+ end
261
+ hash_container
262
+ end
263
+
265
264
  def handle_callback(key,method,opts,callback,data={})
266
265
  option_response=handle_options(method,opts)
267
266
  if callback
@@ -279,11 +278,11 @@ module EmRiak
279
278
  def handle_options(action,opts,header={},query="",extra_setting={})
280
279
  #Load default header setting
281
280
  case action
282
- when "save"
281
+ when "save","add"
283
282
  header["Content-Type"]="application/json"
284
283
  when "get"
285
284
  header["Content-Type"]="application/json"
286
- when "destroy","delete"
285
+ when "destroy","delete","remove"
287
286
  header["Content-Type"]="application/json"
288
287
  when "add_link"
289
288
  header["Content-Type"]="application/json"
@@ -350,6 +349,7 @@ module EmRiak
350
349
  opts[:replication].each{|k,v| query+="&#{k}={v}" } if opts[:replication] && action=="get"
351
350
  opts[:query].each{|k,v| query+="&#{k}={v}" } if opts[:query]
352
351
  end
352
+ header=convert_params_layers(header,:to_s)
353
353
  res=[extra_setting,header,query]
354
354
  res << callback if callback
355
355
  res
@@ -371,7 +371,6 @@ module EmRiak
371
371
  def json_decode(obj,times=0)
372
372
  y=Yajl::Parser.new()
373
373
  data=y.parse(obj)
374
- convert_params_layers(data,:to_sym)
375
374
  rescue Exception => e
376
375
  puts "json_decode error : #{e}" if EmRiak.debug
377
376
  obj
@@ -5,11 +5,11 @@ module EmRiak
5
5
  class LinkWalk
6
6
  def add_link(key,*opts)
7
7
  data={}
8
- data[:head], data[:query] = EmRiak.handle_options("add_link",opts)
8
+ data[:head], data[:query] = EmRiak.send :handle_options, "add_link",opts
9
9
  data[:query]= data[:query] && data[:query].length>0 ? data[:query]+"&returnbody=true" : "?returnbody=true"
10
10
 
11
11
  url="/buckets/#{EmRiak.bucket}/keys/#{key}"
12
-
12
+
13
13
  response=open("#{RIAKHOST[rand(RIAKHOST.count)]}/buckets/#{EmRiak.bucket}/keys/#{key}?returnbody=true")
14
14
  body,links = rehandle_link_and_params(response)
15
15
 
@@ -22,7 +22,7 @@ module EmRiak
22
22
 
23
23
  def remove_link(key,*opts)
24
24
  data={}
25
- data[:head], data[:query] = EmRiak.handle_options("add_link",opts)
25
+ data[:head], data[:query] = EmRiak.send :handle_options, "add_link",opts
26
26
  data[:query]= data[:query] && data[:query].length>0 ? data[:query]+"&returnbody=true" : "?returnbody=true"
27
27
 
28
28
  url="/buckets/#{EmRiak.bucket}/keys/#{key}"
@@ -26,7 +26,7 @@ module EmRiak
26
26
  submit_work=eval(submit_work)
27
27
  end
28
28
  url="/mapred"
29
- map_reduce_json=EmRiak.json_encode(submit_work)
29
+ map_reduce_json=EmRiak.send :json_encode ,submit_work
30
30
  data={:head=>{"Content-Type"=>"application/json"},:body=>map_reduce_json}
31
31
 
32
32
  callback_proc=Proc.new{|results| callback.call(callback_handler(results,result_handler)) } if callback
@@ -40,9 +40,12 @@ module EmRiak
40
40
  def callback_handler(res,result_handler)
41
41
  if res.class==String
42
42
  res=EscapeUtils.unescape_url(res.encode('UTF-8').gsub("(","\(").gsub(")","\)").gsub("+","").gsub("=>",":").gsub("\"{","{").gsub("}\"","}").gsub("%20"," ").gsub("%22","@!quote!@")).gsub("@!quote!@","\\\"")
43
- res=EmRiak.json_decode(res)
43
+ res=EmRiak.send :json_decode ,res
44
+ res=eval(res) if res.class==String
45
+ end
46
+ if res.class==Hash
47
+ res=EmRiak.send :convert_params_layers, res,:to_sym
44
48
  end
45
- res=EmRiak.convert_params_layers(res,:to_sym) if res.class==Hash
46
49
  res=result_handler.call(res,{}) if result_handler
47
50
  res
48
51
  end
@@ -18,6 +18,7 @@ module EmRiak
18
18
 
19
19
  def handle_data_and_options(data_self,args)
20
20
  data={:head=>data_self[:head],:body=>data_self,:query=>{}}
21
+ data[:head]={"Content-Type"=>"application/json"} if !data[:head]
21
22
  data[:body].delete(:head)
22
23
  args=args[0] if args[0].class==Array
23
24
  opts={:bin=>args[0]}
@@ -27,6 +28,7 @@ module EmRiak
27
28
  else
28
29
  args[1..args.count]
29
30
  end
31
+ opts[:secondary_index]=opts[:secondary_index].first if opts[:secondary_index].count==1 && opts.first.class==Array
30
32
  [data, opts]
31
33
  end
32
34
  def merge_tag(new_heads,old_heads,res={})
@@ -38,10 +40,10 @@ module EmRiak
38
40
  end
39
41
 
40
42
  def add_as_index(data_self,data,opts)
41
- temp_head, data[:query] = EmRiak.handle_options("post",opts)
43
+ extra_setting, temp_head, data[:query] = EmRiak.send :handle_options, "post",opts
42
44
  data[:head]=merge_tag(temp_head,data[:head])
43
45
  data_self[:head]=data[:head]
44
-
46
+
45
47
  url="/buckets/#{EmRiak.bucket}/keys/#{data_self[:riak_key]}"
46
48
  EmRiak.http("post","2i",url,data)
47
49
  end
@@ -62,7 +64,7 @@ module EmRiak
62
64
  old_heads
63
65
  end
64
66
  def remove_as_index(data_self,data,opts)
65
- temp_head, data[:query] = EmRiak.handle_options("post",opts)
67
+ extra_setting, temp_head, data[:query] = EmRiak.send :handle_options ,"post",opts
66
68
  data[:head]=destroy_tag(temp_head,data[:head])
67
69
  data_self[:head]=data[:head]
68
70
 
data/lib/em-riak/utils.rb CHANGED
@@ -2,13 +2,14 @@ module EmRiak
2
2
  module Util
3
3
  extend self
4
4
  def clean_bucket(bucket_name)
5
- keys=EmRiak::MapReduce.submit(:clean_bucket,{"bucket"=>bucket_name})
5
+ keys=EmRiak::MapReduce.submit([:clean_bucket,{"bucket"=>bucket_name}])
6
6
  if keys
7
7
  if !(keys.class==Hash && keys[:error])
8
8
  keys=keys[0] if keys.class==Array && keys.count==1
9
9
  keys.each{|key|
10
- key=key[0].gsub("\\","\/")
10
+ key=key[0].to_s.gsub("\\","\/")
11
11
  EmRiak.destroy(URI.escape(key[0]).to_s)
12
+ EmRiak.destroy(URI.escape(":#{key[0]}").to_s)
12
13
  }
13
14
  puts "clean done"
14
15
  else
@@ -1,3 +1,3 @@
1
1
  module EmRiak
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.8"
3
3
  end
data/spec/unit/basic.rb CHANGED
@@ -10,7 +10,6 @@ require File.expand_path('../../../lib/em-riak', __FILE__)
10
10
  gem 'minitest'
11
11
  require 'minitest/autorun'
12
12
 
13
-
14
13
  class TestDirectCRUD < MiniTest::Unit::TestCase
15
14
  def setup
16
15
  EmRiak::Connection.new({:bucket=>"test-member",:async=>false,:hosts=>TEST_RIAK_HOSTS})
@@ -70,8 +69,8 @@ class TestAsyncCRUD < MiniTest::Unit::TestCase
70
69
 
71
70
  def test_async_destroy
72
71
  EM.run do
73
- EmRiak.destroy("member5",@data){|member|
74
- assert_equal nil,member
72
+ EmRiak.destroy("member5"){|member|
73
+ assert_equal nil,member
75
74
  member=EmRiak.find("member5")
76
75
  assert_equal nil,member
77
76
  EM.stop
data/spec/unit/core.rb CHANGED
@@ -25,6 +25,8 @@ class TestEmRiakCoreFunctions < MiniTest::Unit::TestCase
25
25
  EmRiak.bucket="test-member"
26
26
  @member=EmRiak.find("member5",{:bucket=>"test-nil"})
27
27
  assert_equal nil,@member
28
+
29
+ @member=EmRiak.create("member5",@data)
28
30
  EmRiak.bucket="test-nil"
29
31
  @member=EmRiak.find("member5",{:bucket=>"test-member"})
30
32
  assert_equal @data,@member
@@ -45,23 +47,33 @@ class TestEmRiakCoreFunctions < MiniTest::Unit::TestCase
45
47
  end
46
48
 
47
49
  def test_key_handler
48
- assert_equal "%E5%A4%A9%E5%A4%A9%E5%AF%AB%E7%A8%8B%E5%BC%8F%E6%9C%83%E8%AE%8A%E5%A4%A7%E7%A5%9E",EmRiak.key_handler("天天寫程式會變大神")
49
- assert_equal "%5B%E6%AC%A3%E6%AC%A3%5D%2B%5B%E4%BA%BA%E5%B8%A5%E7%9C%9F%E5%A5%BD%5D%2A%28%E6%9C%83%E5%AF%AB%E7%A8%8B%E5%BC%8F%29%2F%E5%A4%A7%E7%A5%9E",EmRiak.key_handler("[欣欣]+[人帥真好]*(會寫程式)/大神")
50
+ data=EmRiak.send :key_handler, "天天寫程式會變大神"
51
+ assert_equal "%E5%A4%A9%E5%A4%A9%E5%AF%AB%E7%A8%8B%E5%BC%8F%E6%9C%83%E8%AE%8A%E5%A4%A7%E7%A5%9E",data
52
+ data=EmRiak.send :key_handler, "[欣欣]+[人帥真好]*(會寫程式)/大神"
53
+ assert_equal "%5B%E6%AC%A3%E6%AC%A3%5D%2B%5B%E4%BA%BA%E5%B8%A5%E7%9C%9F%E5%A5%BD%5D%2A%28%E6%9C%83%E5%AF%AB%E7%A8%8B%E5%BC%8F%29%2F%E5%A4%A7%E7%A5%9E",data
50
54
  end
51
55
 
52
56
  def test_convert_params_layers
53
57
  origin={:name=>"Von",:likes=>["ruby","text"]}
54
- string_collect=EmRiak.convert_params_layers(origin,:to_s)
55
- symbol_collect=EmRiak.convert_params_layers(string_collect,:to_sym)
58
+ string_collect=EmRiak.send :convert_params_layers, origin,:to_s
59
+ symbol_collect=EmRiak.send :convert_params_layers, string_collect,:to_sym
56
60
  assert_equal origin,symbol_collect
57
61
  end
58
62
 
59
63
  def test_json_coder
60
64
  origin={:name=>"Von",:gender=>"male"}
61
- json=EmRiak.json_encode(origin)
62
- hash=EmRiak.json_decode(json)
65
+ json=EmRiak.send :json_encode, origin
66
+ hash=EmRiak.send :json_decode, json
67
+ hash=EmRiak.send :convert_params_layers ,hash,:to_sym
63
68
  assert_equal origin,hash
64
69
  end
70
+
71
+ def test_return_body_handler
72
+ origin="name=5&riak_key=member5&head={\"x-riak-index-likes_bin\":\"cool, ruby, social, 天天開心, 寫程式好Happy\", \"returnbody\":\"true\"}"
73
+ data=EmRiak.send :return_body_handler, origin, EmRiak::StorageObject.new(),"string"
74
+ should_be_data={:name=>"5",:riak_key=>"member5",:head=>{"x-riak-index-likes_bin"=>"cool, ruby, social, 天天開心, 寫程式好Happy","returnbody"=>"true"}}
75
+ assert_equal should_be_data,data
76
+ end
65
77
  end
66
78
 
67
79
  class TestEmRiakStorageObjcetFunctionality < MiniTest::Unit::TestCase
@@ -5,7 +5,7 @@ require 'em-http-request'
5
5
  require 'httpi'
6
6
  require 'yajl'
7
7
  require 'em-riak'
8
- TEST_RIAK_HOSTS=["http://127.0.0.1:8091","http://127.0.0.1:8092","http://127.0.0.1:8093","http://127.0.0.1:8094"]
8
+ TEST_RIAK_HOSTS=["http://127.0.0.1:8091"]
9
9
  require File.expand_path('../../../lib/em-riak', __FILE__)
10
10
  gem 'minitest'
11
11
  require 'minitest/autorun'
@@ -18,6 +18,8 @@ class TestMapReduce < MiniTest::Unit::TestCase
18
18
  {"reduce"=> {"language"=> "erlang", "module"=>"riak_kv_mapreduce", "function"=>"reduce_set_union", "keep"=>true} }
19
19
  ]
20
20
  }
21
+ @member=EmRiak.create("member8",{:name=>"Tester"})
22
+ @member.add_tag(:likes,["cool","ruby","social","天天開心","寫程式好Happy"])
21
23
  end
22
24
 
23
25
  def test_sumbit_map_reduce
@@ -5,7 +5,7 @@ require 'em-http-request'
5
5
  require 'httpi'
6
6
  require 'yajl'
7
7
  require 'em-riak'
8
- TEST_RIAK_HOSTS=["http://127.0.0.1:8091","http://127.0.0.1:8092","http://127.0.0.1:8093","http://127.0.0.1:8094"]
8
+ TEST_RIAK_HOSTS=["http://127.0.0.1:8091"]
9
9
  require File.expand_path('../../../lib/em-riak', __FILE__)
10
10
  gem 'minitest'
11
11
  require 'minitest/autorun'
@@ -23,12 +23,14 @@ class TestSecondaryIndex < MiniTest::Unit::TestCase
23
23
 
24
24
  def test_add_secondary_index
25
25
  @member.add_tag(:likes,@tags)
26
+ @member=EmRiak.find("member5")
26
27
  data=EmRiak.search(:secondary_index,{:bin=>:likes},@tags).reject{|ary| ary==[false,false]}
27
28
  assert_operator 0, :<, data.count
28
29
  end
29
30
 
30
31
  def test_show_secondary_index
31
32
  @member.add_tag(:likes,@tags)
33
+ @member=EmRiak.find("member5")
32
34
  data=EmRiak.search(:secondary_index,{:bin=>:likes},@tags).reject{|ary| ary==[false,false]}
33
35
  assert_operator 0, :<, data.count
34
36
 
@@ -38,8 +40,12 @@ class TestSecondaryIndex < MiniTest::Unit::TestCase
38
40
  end
39
41
 
40
42
  def test_remove_secondary_index
43
+ @member=EmRiak.find("member5")
41
44
  @member.remove_tag(:likes,@tags)
45
+ @member=EmRiak.find("member8")
46
+ @member.remove_tag(:likes,@tags)
47
+
42
48
  data=EmRiak.search(:secondary_index,{:bin=>:likes},@tags).reject{|ary| ary==[false,false]}
43
- assert_operator 1, :>, data.count
49
+ assert_operator 1, :>, data.count
44
50
  end
45
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-riak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-27 00:00:00.000000000Z
12
+ date: 2012-12-28 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: escape_utils
16
- requirement: &70267780454580 !ruby/object:Gem::Requirement
16
+ requirement: &70274801323780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70267780454580
24
+ version_requirements: *70274801323780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: yajl-ruby
27
- requirement: &70267780454100 !ruby/object:Gem::Requirement
27
+ requirement: &70274801322140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70267780454100
35
+ version_requirements: *70274801322140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: httpi
38
- requirement: &70267780447240 !ruby/object:Gem::Requirement
38
+ requirement: &70274801321400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70267780447240
46
+ version_requirements: *70274801321400
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: eventmachine
49
- requirement: &70267780446740 !ruby/object:Gem::Requirement
49
+ requirement: &70274801320120 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70267780446740
57
+ version_requirements: *70274801320120
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: em-http-request
60
- requirement: &70267780446220 !ruby/object:Gem::Requirement
60
+ requirement: &70274801319460 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70267780446220
68
+ version_requirements: *70274801319460
69
69
  description: An extremely fast and convenient riak client for eventmachine.
70
70
  email: von@vonstark.co
71
71
  executables: []