dynamoid 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/Dynamoid.gemspec +65 -3
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +6 -0
  4. data/README.markdown +117 -22
  5. data/Rakefile +22 -9
  6. data/VERSION +1 -1
  7. data/doc/.nojekyll +0 -0
  8. data/doc/Dynamoid.html +300 -0
  9. data/doc/Dynamoid/Adapter.html +1387 -0
  10. data/doc/Dynamoid/Adapter/AwsSdk.html +1561 -0
  11. data/doc/Dynamoid/Adapter/Local.html +1487 -0
  12. data/doc/Dynamoid/Associations.html +131 -0
  13. data/doc/Dynamoid/Associations/Association.html +1706 -0
  14. data/doc/Dynamoid/Associations/BelongsTo.html +339 -0
  15. data/doc/Dynamoid/Associations/ClassMethods.html +723 -0
  16. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +339 -0
  17. data/doc/Dynamoid/Associations/HasMany.html +339 -0
  18. data/doc/Dynamoid/Associations/HasOne.html +339 -0
  19. data/doc/Dynamoid/Components.html +202 -0
  20. data/doc/Dynamoid/Config.html +395 -0
  21. data/doc/Dynamoid/Config/Options.html +609 -0
  22. data/doc/Dynamoid/Criteria.html +131 -0
  23. data/doc/Dynamoid/Criteria/Chain.html +759 -0
  24. data/doc/Dynamoid/Criteria/ClassMethods.html +98 -0
  25. data/doc/Dynamoid/Document.html +512 -0
  26. data/doc/Dynamoid/Document/ClassMethods.html +581 -0
  27. data/doc/Dynamoid/Errors.html +118 -0
  28. data/doc/Dynamoid/Errors/DocumentNotValid.html +210 -0
  29. data/doc/Dynamoid/Errors/Error.html +130 -0
  30. data/doc/Dynamoid/Errors/InvalidField.html +133 -0
  31. data/doc/Dynamoid/Errors/MissingRangeKey.html +133 -0
  32. data/doc/Dynamoid/Fields.html +649 -0
  33. data/doc/Dynamoid/Fields/ClassMethods.html +264 -0
  34. data/doc/Dynamoid/Finders.html +128 -0
  35. data/doc/Dynamoid/Finders/ClassMethods.html +502 -0
  36. data/doc/Dynamoid/Indexes.html +308 -0
  37. data/doc/Dynamoid/Indexes/ClassMethods.html +351 -0
  38. data/doc/Dynamoid/Indexes/Index.html +1089 -0
  39. data/doc/Dynamoid/Persistence.html +653 -0
  40. data/doc/Dynamoid/Persistence/ClassMethods.html +568 -0
  41. data/doc/Dynamoid/Validations.html +399 -0
  42. data/doc/_index.html +439 -0
  43. data/doc/class_list.html +47 -0
  44. data/doc/css/common.css +1 -0
  45. data/doc/css/full_list.css +55 -0
  46. data/doc/css/style.css +322 -0
  47. data/doc/file.LICENSE.html +66 -0
  48. data/doc/file.README.html +279 -0
  49. data/doc/file_list.html +52 -0
  50. data/doc/frames.html +13 -0
  51. data/doc/index.html +279 -0
  52. data/doc/js/app.js +205 -0
  53. data/doc/js/full_list.js +173 -0
  54. data/doc/js/jquery.js +16 -0
  55. data/doc/method_list.html +1054 -0
  56. data/doc/top-level-namespace.html +105 -0
  57. data/lib/dynamoid.rb +2 -1
  58. data/lib/dynamoid/adapter.rb +77 -6
  59. data/lib/dynamoid/adapter/aws_sdk.rb +96 -16
  60. data/lib/dynamoid/adapter/local.rb +84 -15
  61. data/lib/dynamoid/associations.rb +53 -4
  62. data/lib/dynamoid/associations/association.rb +154 -26
  63. data/lib/dynamoid/associations/belongs_to.rb +32 -6
  64. data/lib/dynamoid/associations/has_and_belongs_to_many.rb +29 -3
  65. data/lib/dynamoid/associations/has_many.rb +30 -4
  66. data/lib/dynamoid/associations/has_one.rb +26 -3
  67. data/lib/dynamoid/components.rb +7 -5
  68. data/lib/dynamoid/config.rb +15 -2
  69. data/lib/dynamoid/config/options.rb +8 -0
  70. data/lib/dynamoid/criteria.rb +7 -2
  71. data/lib/dynamoid/criteria/chain.rb +55 -8
  72. data/lib/dynamoid/document.rb +68 -7
  73. data/lib/dynamoid/errors.rb +17 -2
  74. data/lib/dynamoid/fields.rb +44 -1
  75. data/lib/dynamoid/finders.rb +32 -6
  76. data/lib/dynamoid/indexes.rb +22 -2
  77. data/lib/dynamoid/indexes/index.rb +48 -7
  78. data/lib/dynamoid/persistence.rb +111 -51
  79. data/lib/dynamoid/validations.rb +36 -0
  80. data/spec/app/models/address.rb +2 -1
  81. data/spec/app/models/camel_case.rb +11 -0
  82. data/spec/app/models/magazine.rb +4 -1
  83. data/spec/app/models/sponsor.rb +3 -1
  84. data/spec/app/models/subscription.rb +5 -1
  85. data/spec/app/models/user.rb +10 -1
  86. data/spec/dynamoid/associations/association_spec.rb +67 -1
  87. data/spec/dynamoid/associations/belongs_to_spec.rb +16 -1
  88. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +7 -0
  89. data/spec/dynamoid/associations/has_many_spec.rb +14 -0
  90. data/spec/dynamoid/associations/has_one_spec.rb +10 -1
  91. data/spec/dynamoid/criteria_spec.rb +5 -1
  92. data/spec/dynamoid/document_spec.rb +23 -3
  93. data/spec/dynamoid/fields_spec.rb +10 -1
  94. data/spec/dynamoid/indexes/index_spec.rb +19 -0
  95. data/spec/dynamoid/persistence_spec.rb +24 -0
  96. data/spec/dynamoid/validations_spec.rb +36 -0
  97. metadata +105 -4
@@ -4,6 +4,7 @@ describe "Dynamoid::Associations::HasAndBelongsToMany" do
4
4
 
5
5
  before do
6
6
  @subscription = Subscription.create
7
+ @camel_case = CamelCase.create
7
8
  end
8
9
 
9
10
  it 'determines equality from its records' do
@@ -15,6 +16,7 @@ describe "Dynamoid::Associations::HasAndBelongsToMany" do
15
16
 
16
17
  it 'determines target association correctly' do
17
18
  @subscription.users.send(:target_association).should == :subscriptions
19
+ @camel_case.subscriptions.send(:target_association).should == :camel_cases
18
20
  end
19
21
 
20
22
  it 'determines target attribute' do
@@ -28,6 +30,11 @@ describe "Dynamoid::Associations::HasAndBelongsToMany" do
28
30
  @user.subscriptions.should include @subscription
29
31
  @subscription.users.size.should == 1
30
32
  @subscription.users.should include @user
33
+
34
+ @user = User.create
35
+ @follower = @user.followers.create
36
+ @follower.following.should include @user
37
+ @user.followers.should include @follower
31
38
  end
32
39
 
33
40
  it 'disassociates has_and_belongs_to_many automatically' do
@@ -4,6 +4,8 @@ describe "Dynamoid::Associations::HasMany" do
4
4
 
5
5
  before do
6
6
  @magazine = Magazine.create
7
+ @user = User.create
8
+ @camel_case = CamelCase.create
7
9
  end
8
10
 
9
11
  it 'determines equality from its records' do
@@ -14,15 +16,27 @@ describe "Dynamoid::Associations::HasMany" do
14
16
 
15
17
  it 'determines target association correctly' do
16
18
  @magazine.subscriptions.send(:target_association).should == :magazine
19
+ @user.books.send(:target_association).should == :owner
20
+ @camel_case.users.send(:target_association).should == :camel_case
21
+ end
22
+
23
+ it 'determins target class correctly' do
24
+ @magazine.subscriptions.send(:target_class).should == Subscription
25
+ @user.books.send(:target_class).should == Magazine
17
26
  end
18
27
 
19
28
  it 'determines target attribute' do
20
29
  @magazine.subscriptions.send(:target_attribute).should == :magazine_ids
30
+ @user.books.send(:target_attribute).should == :owner_ids
21
31
  end
22
32
 
23
33
  it 'associates belongs_to automatically' do
24
34
  @subscription = @magazine.subscriptions.create
25
35
 
26
36
  @subscription.magazine.should == @magazine
37
+
38
+ @magazine = @user.books.create
39
+ @magazine.owner.should == @user
27
40
  end
41
+
28
42
  end
@@ -4,11 +4,17 @@ describe "Dynamoid::Associations::HasOne" do
4
4
 
5
5
  before do
6
6
  @magazine = Magazine.create
7
+ @user = User.create
8
+ @camel_case = CamelCase.create
7
9
  end
8
10
 
9
11
  it 'determines nil if it has no associated record' do
10
12
  @magazine.sponsor.should be_nil
11
13
  end
14
+
15
+ it 'determines target association correctly' do
16
+ @camel_case.sponsor.send(:target_association).should == :camel_case
17
+ end
12
18
 
13
19
  it 'returns only one object when associated' do
14
20
  @magazine.sponsor.create
@@ -30,8 +36,11 @@ describe "Dynamoid::Associations::HasOne" do
30
36
 
31
37
  it 'associates belongs_to automatically' do
32
38
  @sponsor = @magazine.sponsor.create
33
-
39
+ @sponsor.magazine.should == @magazine
34
40
  @magazine.sponsor.size.should == 1
35
41
  @magazine.sponsor.should == @sponsor
42
+
43
+ @subscription = @user.monthly.create
44
+ @subscription.customer.should == @user
36
45
  end
37
46
  end
@@ -17,6 +17,7 @@ describe "Dynamoid::Criteria" do
17
17
 
18
18
  it 'returns all records' do
19
19
  User.all.should =~ [@user1, @user2]
20
+ User.all.first.new_record.should be_false
20
21
  end
21
22
 
22
23
  it 'returns empty attributes for where' do
@@ -28,7 +29,10 @@ describe "Dynamoid::Criteria" do
28
29
  end
29
30
 
30
31
  it 'passes each to all members' do
31
- User.each{|u| u.id.should == @user1.id || @user2.id}
32
+ User.each do |u|
33
+ u.id.should == @user1.id || @user2.id
34
+ u.new_record.should be_false
35
+ end
32
36
  end
33
37
 
34
38
  end
@@ -6,7 +6,7 @@ describe "Dynamoid::Document" do
6
6
  @address = Address.new
7
7
 
8
8
  @address.new_record.should be_true
9
- @address.attributes.should == {:id=>nil, :created_at=>nil, :updated_at=>nil, :city=>nil}
9
+ @address.attributes.should == {:id=>nil, :created_at=>nil, :updated_at=>nil, :city=>nil, :options=>nil}
10
10
  end
11
11
 
12
12
  it 'initializes a new document with attributes' do
@@ -14,7 +14,16 @@ describe "Dynamoid::Document" do
14
14
 
15
15
  @address.new_record.should be_true
16
16
 
17
- @address.attributes.should == {:id=>nil, :created_at=>nil, :updated_at=>nil, :city=>"Chicago"}
17
+ @address.attributes.should == {:id=>nil, :created_at=>nil, :updated_at=>nil, :city=>"Chicago", :options=>nil}
18
+ end
19
+
20
+ it 'allows interception of write_attribute on load' do
21
+ class Model
22
+ include Dynamoid::Document
23
+ field :city
24
+ def city=(value); self[:city] = value.downcase; end
25
+ end
26
+ Model.new(:city => "Chicago").city.should == "chicago"
18
27
  end
19
28
 
20
29
  it 'creates a new document' do
@@ -23,13 +32,19 @@ describe "Dynamoid::Document" do
23
32
  @address.new_record.should be_false
24
33
  @address.id.should_not be_nil
25
34
  end
35
+
36
+ it 'knows if a document exists or not' do
37
+ @address = Address.create(:city => 'Chicago')
38
+ Address.exists?(@address.id).should be_true
39
+ Address.exists?("does-not-exist").should be_false
40
+ end
26
41
 
27
42
  it 'tests equivalency with itself' do
28
43
  @address = Address.create(:city => 'Chicago')
29
44
 
30
45
  @address.should == @address
31
46
  end
32
-
47
+
33
48
  it 'is not equivalent to another document' do
34
49
  @address.should_not == Address.create
35
50
  end
@@ -39,6 +54,11 @@ describe "Dynamoid::Document" do
39
54
  @address.should_not == "test"
40
55
  end
41
56
 
57
+ it "isn't equal to nil" do
58
+ @address = Address.create(:city => 'Chicago')
59
+ @address.should_not == nil
60
+ end
61
+
42
62
  it 'gets errors courtesy of ActiveModel' do
43
63
  @address = Address.create(:city => 'Chicago')
44
64
 
@@ -74,9 +74,18 @@ describe "Dynamoid::Fields" do
74
74
  @address[:city].should == 'Chicago'
75
75
  @address.id.should == @original_id
76
76
  end
77
+
78
+ it 'adds in dirty methods for attributes' do
79
+ @address.city = 'Chicago'
80
+ @address.save
81
+
82
+ @address.city = 'San Francisco'
83
+
84
+ @address.city_was.should == 'Chicago'
85
+ end
77
86
 
78
87
  it 'returns all attributes' do
79
- Address.attributes.should == {:id=>{:type=>:string}, :created_at=>{:type=>:datetime}, :updated_at=>{:type=>:datetime}, :city=>{:type=>:string}}
88
+ Address.attributes.should == {:id=>{:type=>:string}, :created_at=>{:type=>:datetime}, :updated_at=>{:type=>:datetime}, :city=>{:type=>:string}, :options=>{:type=>:serialized}}
80
89
  end
81
90
  end
82
91
 
@@ -53,6 +53,15 @@ describe "Dynamoid::Indexes::Index" do
53
53
  @index.values(@user).should == {:hash_value => 'Josh.test123', :range_value => @time.to_f}
54
54
  end
55
55
 
56
+ it 'accepts values from an object and returns changed values' do
57
+ @user = User.new(:name => 'Josh', :password => 'test123', :created_at => @time)
58
+ @user.name = 'Justin'
59
+
60
+ @index.values(@user, true).should == {:hash_value => 'Josh.test123', :range_value => @time.to_f}
61
+
62
+ @index.values(@user).should == {:hash_value => 'Justin.test123', :range_value => @time.to_f}
63
+ end
64
+
56
65
  it 'saves an object to the index it is associated with' do
57
66
  @index = Dynamoid::Indexes::Index.new(User, :name)
58
67
  @user = User.new(:name => 'Josh', :password => 'test123', :created_at => @time, :id => 'test123')
@@ -81,4 +90,14 @@ describe "Dynamoid::Indexes::Index" do
81
90
  Dynamoid::Adapter.read("dynamoid_tests_index_user_names", 'Josh')[:ids].should be_nil
82
91
  end
83
92
 
93
+ it 'updates an object by removing it from its previous index and adding it to its new one' do
94
+ @index = Dynamoid::Indexes::Index.new(User, :name)
95
+ @user = User.create(:name => 'Josh', :password => 'test123', :last_logged_in_at => @time, :id => 'test123')
96
+
97
+ @user.update_attributes(:name => 'Justin')
98
+
99
+ Dynamoid::Adapter.read("dynamoid_tests_index_user_names", 'Josh')[:ids].should be_nil
100
+ Dynamoid::Adapter.read("dynamoid_tests_index_user_names", 'Justin')[:ids].should == Set['test123']
101
+ end
102
+
84
103
  end
@@ -80,6 +80,20 @@ describe "Dynamoid::Persistence" do
80
80
 
81
81
  @subscription.send(:dump)[:magazine_ids].should == Set[@magazine.id]
82
82
  end
83
+
84
+ it 'handles nil attributes properly' do
85
+ Address.undump(nil).should be_a(Hash)
86
+ end
87
+
88
+ it 'dumps and undump a serialized field' do
89
+ @address.options = (hash = {:x => [1, 2], "foobar" => 3.14})
90
+ Address.undump(@address.send(:dump))[:options].should == hash
91
+ end
92
+
93
+ it 'loads a hash into a serialized field' do
94
+ hash = {foo: :bar}
95
+ Address.new(options: hash).options.should == hash
96
+ end
83
97
 
84
98
  it 'loads attributes from a hash' do
85
99
  @time = DateTime.now
@@ -88,5 +102,15 @@ describe "Dynamoid::Persistence" do
88
102
  User.undump(@hash)[:name].should == 'Josh'
89
103
  User.undump(@hash)[:created_at].to_f == @time.to_f
90
104
  end
105
+
106
+ it 'tracks previous changes on save or update' do
107
+ @address.city = 'Chicago'
108
+ @address.save
109
+
110
+ @address.city = 'San Francisco'
111
+ @address.save
112
+
113
+ @address.city_was.should == 'Chicago'
114
+ end
91
115
 
92
116
  end
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe "Dynamoid::Validations" do
4
+ before do
5
+ @document = Class.new do
6
+ include Dynamoid::Document
7
+
8
+ def self.name
9
+ 'Document'
10
+ end
11
+ end
12
+ end
13
+
14
+ it 'validates presence of' do
15
+ @document.field :name
16
+ @document.validates_presence_of :name
17
+ doc = @document.new
18
+ doc.save.should be_false
19
+ doc.new_record.should be_true
20
+ doc.name = 'secret'
21
+ doc.save.should_not be_false
22
+ doc.errors.should be_empty
23
+ end
24
+
25
+ it 'raises document not found' do
26
+ @document.field :name
27
+ @document.validates_presence_of :name
28
+ doc = @document.new
29
+ expect { doc.save! }.to raise_error(Dynamoid::Errors::DocumentNotValid)
30
+
31
+ expect { @document.create! }.to raise_error(Dynamoid::Errors::DocumentNotValid)
32
+
33
+ doc = @document.create!(:name => 'test')
34
+ doc.errors.should be_empty
35
+ end
36
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
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-03-15 00:00:00.000000000 Z
12
+ date: 2012-03-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -155,6 +155,54 @@ dependencies:
155
155
  - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: yard
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: redcarpet
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - '='
180
+ - !ruby/object:Gem::Version
181
+ version: 1.17.2
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - '='
188
+ - !ruby/object:Gem::Version
189
+ version: 1.17.2
190
+ - !ruby/object:Gem::Dependency
191
+ name: github-markup
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
158
206
  description: Dynamoid is an ORM for Amazon's DynamoDB that supports offline development,
159
207
  associations, querying, and everything else you'd expect from an ActiveRecord-style
160
208
  replacement.
@@ -174,6 +222,56 @@ files:
174
222
  - README.markdown
175
223
  - Rakefile
176
224
  - VERSION
225
+ - doc/.nojekyll
226
+ - doc/Dynamoid.html
227
+ - doc/Dynamoid/Adapter.html
228
+ - doc/Dynamoid/Adapter/AwsSdk.html
229
+ - doc/Dynamoid/Adapter/Local.html
230
+ - doc/Dynamoid/Associations.html
231
+ - doc/Dynamoid/Associations/Association.html
232
+ - doc/Dynamoid/Associations/BelongsTo.html
233
+ - doc/Dynamoid/Associations/ClassMethods.html
234
+ - doc/Dynamoid/Associations/HasAndBelongsToMany.html
235
+ - doc/Dynamoid/Associations/HasMany.html
236
+ - doc/Dynamoid/Associations/HasOne.html
237
+ - doc/Dynamoid/Components.html
238
+ - doc/Dynamoid/Config.html
239
+ - doc/Dynamoid/Config/Options.html
240
+ - doc/Dynamoid/Criteria.html
241
+ - doc/Dynamoid/Criteria/Chain.html
242
+ - doc/Dynamoid/Criteria/ClassMethods.html
243
+ - doc/Dynamoid/Document.html
244
+ - doc/Dynamoid/Document/ClassMethods.html
245
+ - doc/Dynamoid/Errors.html
246
+ - doc/Dynamoid/Errors/DocumentNotValid.html
247
+ - doc/Dynamoid/Errors/Error.html
248
+ - doc/Dynamoid/Errors/InvalidField.html
249
+ - doc/Dynamoid/Errors/MissingRangeKey.html
250
+ - doc/Dynamoid/Fields.html
251
+ - doc/Dynamoid/Fields/ClassMethods.html
252
+ - doc/Dynamoid/Finders.html
253
+ - doc/Dynamoid/Finders/ClassMethods.html
254
+ - doc/Dynamoid/Indexes.html
255
+ - doc/Dynamoid/Indexes/ClassMethods.html
256
+ - doc/Dynamoid/Indexes/Index.html
257
+ - doc/Dynamoid/Persistence.html
258
+ - doc/Dynamoid/Persistence/ClassMethods.html
259
+ - doc/Dynamoid/Validations.html
260
+ - doc/_index.html
261
+ - doc/class_list.html
262
+ - doc/css/common.css
263
+ - doc/css/full_list.css
264
+ - doc/css/style.css
265
+ - doc/file.LICENSE.html
266
+ - doc/file.README.html
267
+ - doc/file_list.html
268
+ - doc/frames.html
269
+ - doc/index.html
270
+ - doc/js/app.js
271
+ - doc/js/full_list.js
272
+ - doc/js/jquery.js
273
+ - doc/method_list.html
274
+ - doc/top-level-namespace.html
177
275
  - lib/dynamoid.rb
178
276
  - lib/dynamoid/adapter.rb
179
277
  - lib/dynamoid/adapter/aws_sdk.rb
@@ -196,7 +294,9 @@ files:
196
294
  - lib/dynamoid/indexes.rb
197
295
  - lib/dynamoid/indexes/index.rb
198
296
  - lib/dynamoid/persistence.rb
297
+ - lib/dynamoid/validations.rb
199
298
  - spec/app/models/address.rb
299
+ - spec/app/models/camel_case.rb
200
300
  - spec/app/models/magazine.rb
201
301
  - spec/app/models/sponsor.rb
202
302
  - spec/app/models/subscription.rb
@@ -219,6 +319,7 @@ files:
219
319
  - spec/dynamoid/indexes/index_spec.rb
220
320
  - spec/dynamoid/indexes_spec.rb
221
321
  - spec/dynamoid/persistence_spec.rb
322
+ - spec/dynamoid/validations_spec.rb
222
323
  - spec/dynamoid_spec.rb
223
324
  - spec/spec_helper.rb
224
325
  homepage: http://github.com/Veraticus/Dynamoid
@@ -236,7 +337,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
236
337
  version: '0'
237
338
  segments:
238
339
  - 0
239
- hash: -1313456439157708017
340
+ hash: 1952467845042018091
240
341
  required_rubygems_version: !ruby/object:Gem::Requirement
241
342
  none: false
242
343
  requirements:
@@ -245,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
346
  version: '0'
246
347
  requirements: []
247
348
  rubyforge_project:
248
- rubygems_version: 1.8.18
349
+ rubygems_version: 1.8.19
249
350
  signing_key:
250
351
  specification_version: 3
251
352
  summary: Dynamoid is an ORM for Amazon's DynamoDB