em-riak 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
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: []