dynamoid 0.6.1 → 0.7.0

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.
Files changed (92) hide show
  1. data/.travis.yml +4 -0
  2. data/Gemfile +3 -2
  3. data/Gemfile.lock +40 -45
  4. data/README.markdown +55 -25
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -1
  7. data/doc/Dynamoid.html +58 -42
  8. data/doc/Dynamoid/Adapter.html +666 -179
  9. data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
  10. data/doc/Dynamoid/Associations.html +28 -21
  11. data/doc/Dynamoid/Associations/Association.html +102 -49
  12. data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
  13. data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
  14. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
  15. data/doc/Dynamoid/Associations/HasMany.html +28 -25
  16. data/doc/Dynamoid/Associations/HasOne.html +28 -25
  17. data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
  18. data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
  19. data/doc/Dynamoid/Components.html +60 -22
  20. data/doc/Dynamoid/Config.html +61 -44
  21. data/doc/Dynamoid/Config/Options.html +90 -61
  22. data/doc/Dynamoid/Criteria.html +28 -21
  23. data/doc/Dynamoid/Criteria/Chain.html +508 -100
  24. data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
  25. data/doc/Dynamoid/Dirty.html +424 -0
  26. data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
  27. data/doc/Dynamoid/Document.html +451 -84
  28. data/doc/Dynamoid/Document/ClassMethods.html +281 -102
  29. data/doc/Dynamoid/Errors.html +29 -22
  30. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
  31. data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
  32. data/doc/Dynamoid/Errors/Error.html +27 -20
  33. data/doc/Dynamoid/Errors/InvalidField.html +27 -19
  34. data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
  35. data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
  36. data/doc/Dynamoid/Fields.html +94 -77
  37. data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
  38. data/doc/Dynamoid/Finders.html +28 -21
  39. data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
  40. data/doc/Dynamoid/IdentityMap.html +492 -0
  41. data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
  42. data/doc/Dynamoid/Indexes.html +41 -28
  43. data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
  44. data/doc/Dynamoid/Indexes/Index.html +100 -62
  45. data/doc/Dynamoid/Middleware.html +115 -0
  46. data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
  47. data/doc/Dynamoid/Persistence.html +326 -85
  48. data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
  49. data/doc/Dynamoid/Validations.html +47 -31
  50. data/doc/_index.html +116 -71
  51. data/doc/class_list.html +13 -7
  52. data/doc/css/full_list.css +4 -2
  53. data/doc/css/style.css +60 -44
  54. data/doc/file.LICENSE.html +26 -19
  55. data/doc/file.README.html +152 -48
  56. data/doc/file_list.html +14 -8
  57. data/doc/frames.html +20 -5
  58. data/doc/index.html +152 -48
  59. data/doc/js/app.js +52 -43
  60. data/doc/js/full_list.js +14 -9
  61. data/doc/js/jquery.js +4 -16
  62. data/doc/method_list.html +446 -540
  63. data/doc/top-level-namespace.html +27 -20
  64. data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
  65. data/lib/dynamoid/adapter.rb +11 -10
  66. data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
  67. data/lib/dynamoid/components.rb +2 -1
  68. data/lib/dynamoid/criteria/chain.rb +29 -11
  69. data/lib/dynamoid/dirty.rb +6 -0
  70. data/lib/dynamoid/document.rb +34 -19
  71. data/lib/dynamoid/fields.rb +36 -30
  72. data/lib/dynamoid/finders.rb +7 -5
  73. data/lib/dynamoid/persistence.rb +37 -10
  74. data/spec/app/models/address.rb +2 -0
  75. data/spec/app/models/camel_case.rb +10 -0
  76. data/spec/app/models/car.rb +6 -0
  77. data/spec/app/models/nuclear_submarine.rb +5 -0
  78. data/spec/app/models/subscription.rb +2 -2
  79. data/spec/app/models/vehicle.rb +7 -0
  80. data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
  81. data/spec/dynamoid/adapter_spec.rb +67 -82
  82. data/spec/dynamoid/associations/association_spec.rb +30 -30
  83. data/spec/dynamoid/criteria/chain_spec.rb +56 -9
  84. data/spec/dynamoid/criteria_spec.rb +3 -0
  85. data/spec/dynamoid/dirty_spec.rb +8 -0
  86. data/spec/dynamoid/document_spec.rb +109 -47
  87. data/spec/dynamoid/fields_spec.rb +32 -3
  88. data/spec/dynamoid/finders_spec.rb +12 -0
  89. data/spec/dynamoid/persistence_spec.rb +73 -8
  90. data/spec/spec_helper.rb +1 -0
  91. data/spec/support/with_partitioning.rb +15 -0
  92. metadata +22 -9
@@ -35,6 +35,7 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
35
35
  Dir[ File.join(MODELS, "*.rb") ].sort.each { |file| require file }
36
36
 
37
37
  RSpec.configure do |config|
38
+ config.alias_it_should_behave_like_to :configured_with, "configured with"
38
39
  config.mock_with(:mocha)
39
40
 
40
41
  config.before(:each) do
@@ -0,0 +1,15 @@
1
+ #
2
+ # Enables paritioning for these tests, use like so:
3
+ #
4
+ #
5
+ #
6
+ shared_examples "partitioning" do
7
+ before(:all) do
8
+ @previous_value = Dynamoid::Config.partitioning
9
+ Dynamoid::Config.partitioning = true
10
+ end
11
+
12
+ after(:all) do
13
+ Dynamoid::Config.partitioning = @previous_value
14
+ end
15
+ 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.6.1
4
+ version: 0.7.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: 2013-01-09 00:00:00.000000000 Z
12
+ date: 2013-06-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -192,17 +192,17 @@ dependencies:
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
- - - ! '>='
195
+ - - ~>
196
196
  - !ruby/object:Gem::Version
197
- version: '0'
197
+ version: 0.1.3
198
198
  type: :development
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
201
201
  none: false
202
202
  requirements:
203
- - - ! '>='
203
+ - - ~>
204
204
  - !ruby/object:Gem::Version
205
- version: '0'
205
+ version: 0.1.3
206
206
  - !ruby/object:Gem::Dependency
207
207
  name: mocha
208
208
  requirement: !ruby/object:Gem::Requirement
@@ -231,7 +231,7 @@ extra_rdoc_files:
231
231
  files:
232
232
  - .document
233
233
  - .rspec
234
- - Dynamoid.gemspec
234
+ - .travis.yml
235
235
  - Gemfile
236
236
  - Gemfile.lock
237
237
  - LICENSE.txt
@@ -258,20 +258,28 @@ files:
258
258
  - doc/Dynamoid/Criteria.html
259
259
  - doc/Dynamoid/Criteria/Chain.html
260
260
  - doc/Dynamoid/Criteria/ClassMethods.html
261
+ - doc/Dynamoid/Dirty.html
262
+ - doc/Dynamoid/Dirty/ClassMethods.html
261
263
  - doc/Dynamoid/Document.html
262
264
  - doc/Dynamoid/Document/ClassMethods.html
263
265
  - doc/Dynamoid/Errors.html
266
+ - doc/Dynamoid/Errors/ConditionalCheckFailedException.html
264
267
  - doc/Dynamoid/Errors/DocumentNotValid.html
265
268
  - doc/Dynamoid/Errors/Error.html
266
269
  - doc/Dynamoid/Errors/InvalidField.html
270
+ - doc/Dynamoid/Errors/InvalidQuery.html
267
271
  - doc/Dynamoid/Errors/MissingRangeKey.html
268
272
  - doc/Dynamoid/Fields.html
269
273
  - doc/Dynamoid/Fields/ClassMethods.html
270
274
  - doc/Dynamoid/Finders.html
271
275
  - doc/Dynamoid/Finders/ClassMethods.html
276
+ - doc/Dynamoid/IdentityMap.html
277
+ - doc/Dynamoid/IdentityMap/ClassMethods.html
272
278
  - doc/Dynamoid/Indexes.html
273
279
  - doc/Dynamoid/Indexes/ClassMethods.html
274
280
  - doc/Dynamoid/Indexes/Index.html
281
+ - doc/Dynamoid/Middleware.html
282
+ - doc/Dynamoid/Middleware/IdentityMap.html
275
283
  - doc/Dynamoid/Persistence.html
276
284
  - doc/Dynamoid/Persistence/ClassMethods.html
277
285
  - doc/Dynamoid/Validations.html
@@ -290,6 +298,7 @@ files:
290
298
  - doc/js/jquery.js
291
299
  - doc/method_list.html
292
300
  - doc/top-level-namespace.html
301
+ - dynamoid.gemspec
293
302
  - lib/dynamoid.rb
294
303
  - lib/dynamoid/adapter.rb
295
304
  - lib/dynamoid/adapter/aws_sdk.rb
@@ -319,12 +328,15 @@ files:
319
328
  - lib/dynamoid/validations.rb
320
329
  - spec/app/models/address.rb
321
330
  - spec/app/models/camel_case.rb
331
+ - spec/app/models/car.rb
322
332
  - spec/app/models/magazine.rb
323
333
  - spec/app/models/message.rb
334
+ - spec/app/models/nuclear_submarine.rb
324
335
  - spec/app/models/sponsor.rb
325
336
  - spec/app/models/subscription.rb
326
337
  - spec/app/models/tweet.rb
327
338
  - spec/app/models/user.rb
339
+ - spec/app/models/vehicle.rb
328
340
  - spec/dynamoid/adapter/aws_sdk_spec.rb
329
341
  - spec/dynamoid/adapter_spec.rb
330
342
  - spec/dynamoid/associations/association_spec.rb
@@ -347,6 +359,7 @@ files:
347
359
  - spec/dynamoid/validations_spec.rb
348
360
  - spec/dynamoid_spec.rb
349
361
  - spec/spec_helper.rb
362
+ - spec/support/with_partitioning.rb
350
363
  homepage: http://github.com/Veraticus/Dynamoid
351
364
  licenses:
352
365
  - MIT
@@ -362,7 +375,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
362
375
  version: '0'
363
376
  segments:
364
377
  - 0
365
- hash: 4089934294152976145
378
+ hash: 1044979566078610406
366
379
  required_rubygems_version: !ruby/object:Gem::Requirement
367
380
  none: false
368
381
  requirements:
@@ -371,7 +384,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
371
384
  version: '0'
372
385
  requirements: []
373
386
  rubyforge_project:
374
- rubygems_version: 1.8.23
387
+ rubygems_version: 1.8.25
375
388
  signing_key:
376
389
  specification_version: 3
377
390
  summary: Dynamoid is an ORM for Amazon's DynamoDB