dynamoid 0.6.1 → 0.7.0

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