riak-shim 0.0.10 → 0.0.12

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.
@@ -45,7 +45,7 @@ module Riak
45
45
  module ClassMethods
46
46
  def delete_all
47
47
  bucket.keys.each do |key|
48
- bucket.delete key
48
+ bucket.delete(key)
49
49
  end
50
50
  end
51
51
 
@@ -91,6 +91,12 @@ module Riak
91
91
  def gen_key
92
92
  UUIDTools::UUID.random_create.to_s
93
93
  end
94
+
95
+ def count
96
+ counter = 0
97
+ bucket.keys {|keys| counter += keys.count }
98
+ return counter
99
+ end
94
100
  end
95
101
 
96
102
  def self.included(base)
@@ -1,5 +1,5 @@
1
1
  module Riak
2
2
  module Shim
3
- VERSION = "0.0.10"
3
+ VERSION = "0.0.12"
4
4
  end
5
5
  end
data/riak-shim.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |gem|
24
24
  gem.add_development_dependency "guard"
25
25
  gem.add_development_dependency "guard-rspec"
26
26
  gem.add_development_dependency "pry"
27
+ gem.add_development_dependency "awesome_print"
27
28
 
28
29
  if RUBY_PLATFORM.include? 'darwin'
29
30
  gem.add_development_dependency 'growl'
@@ -20,10 +20,10 @@ class PersistableExample
20
20
 
21
21
  def ==(other)
22
22
  other.instance_of?(self.class) and
23
- self.key == other.key and
24
- self.foo == other.foo and
25
- self.bar == other.bar and
26
- self.baz == other.baz
23
+ self.key == other.key and
24
+ self.foo == other.foo and
25
+ self.bar == other.bar and
26
+ self.baz == other.baz
27
27
  end
28
28
  end
29
29
 
@@ -33,6 +33,14 @@ class PersistableExampleWithIndex < PersistableExample
33
33
  end
34
34
  end
35
35
 
36
+ def create_test_data(copies)
37
+ copies.times do |i|
38
+ p = PersistableExample.new
39
+ p.foo, p.bar, p.baz = i, i, i
40
+ p.save
41
+ end
42
+ end
43
+
36
44
  describe 'persistable' do
37
45
  let(:persistable) do
38
46
  p = PersistableExample.new ; p.foo = 'boo' ; p.bar = 'who' ; p
@@ -96,7 +104,7 @@ describe 'persistable' do
96
104
  @indexes[:oldkey] = ['oldval']
97
105
  end
98
106
 
99
- context 'with a model which does not need indes' do
107
+ context 'with a model which does not need indexes' do
100
108
  it 'does not require #fields_to_index to be defined' do
101
109
  expect { persistable.set_indexes(@indexes) }.to_not raise_error
102
110
  end
@@ -116,6 +124,10 @@ describe 'persistable' do
116
124
  indexable.set_indexes(@indexes)
117
125
  end
118
126
 
127
+ after do
128
+ PersistableExampleWithIndex.delete_all
129
+ end
130
+
119
131
  it 'sets indexes for specified fields and no others' do
120
132
  @indexes.keys.should =~ ['bar_bin', 'baz_bin']
121
133
  end
@@ -124,22 +136,18 @@ describe 'persistable' do
124
136
 
125
137
  describe '#delete_all' do
126
138
  before do
127
- 10.times do |i|
128
- p = PersistableExample.new
129
- p.foo, p.bar, p.baz = i, i, i
130
- p.save
131
- end
132
- @keys = bucket.keys
139
+ create_test_data(10)
133
140
  PersistableExample.delete_all
141
+ sleep(5)
134
142
  end
135
143
 
136
144
  it 'has no instances in the DB' do
137
- @keys.map { |k| bucket.exists?(k).should be_false }
145
+ PersistableExample.bucket.keys.count.should eq 0
138
146
  end
139
147
  end
140
148
 
141
149
  describe '#de_camel' do
142
- it 'handles a bacic camel-case name' do
150
+ it 'handles a basic camel-case name' do
143
151
  DeCamel.each do |camelcase, lowered|
144
152
  PersistableExample.de_camel(camelcase).should eq(lowered)
145
153
  end
@@ -158,8 +166,7 @@ describe 'persistable' do
158
166
  end
159
167
 
160
168
  it 'does not produce collisions' do
161
- PersistableExample.de_camel('RiakShim').should_not
162
- eq PersistableExample.de_camel('Riak::Shim')
169
+ PersistableExample.de_camel('RiakShim').should_not eq PersistableExample.de_camel('Riak::Shim')
163
170
  end
164
171
  end
165
172
 
@@ -209,5 +216,18 @@ describe 'persistable' do
209
216
  @keys.uniq!.should be_nil
210
217
  end
211
218
  end
212
- end
213
219
 
220
+ describe '#count' do
221
+ COUNT = 50
222
+
223
+ before do
224
+ PersistableExample.delete_all
225
+ sleep(5)
226
+ create_test_data(COUNT)
227
+ end
228
+
229
+ it 'returns an accurate count' do
230
+ PersistableExample.count.should eq COUNT
231
+ end
232
+ end
233
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  $: << './lib'
2
2
  require 'riak-shim'
3
3
  require 'pry'
4
+ require 'awesome_print'
4
5
 
5
6
  ENV['RACK_ENV'] = 'test' unless ENV['RACK_ENV']
6
7
  DB_CONFIG = { 'development' => { 'bucket_prefix' => 'dev_', 'host' => "localhost", 'http_port' => 8098},
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riak-shim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-07 00:00:00.000000000 Z
12
+ date: 2012-08-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: riak-client
@@ -139,6 +139,22 @@ dependencies:
139
139
  - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: awesome_print
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
142
158
  - !ruby/object:Gem::Dependency
143
159
  name: growl
144
160
  requirement: !ruby/object:Gem::Requirement