dynamoid 3.10.0 → 3.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +182 -2
  4. data/dynamoid.gemspec +4 -4
  5. data/lib/dynamoid/adapter.rb +1 -1
  6. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/filter_expression_convertor.rb +53 -18
  7. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/item_updater.rb +5 -4
  8. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/projection_expression_convertor.rb +9 -7
  9. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/query.rb +1 -1
  10. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/scan.rb +1 -1
  11. data/lib/dynamoid/adapter_plugin/aws_sdk_v3/transact.rb +31 -0
  12. data/lib/dynamoid/adapter_plugin/aws_sdk_v3.rb +9 -5
  13. data/lib/dynamoid/components.rb +1 -0
  14. data/lib/dynamoid/config.rb +2 -0
  15. data/lib/dynamoid/criteria/chain.rb +63 -18
  16. data/lib/dynamoid/criteria/where_conditions.rb +13 -6
  17. data/lib/dynamoid/dirty.rb +86 -11
  18. data/lib/dynamoid/dumping.rb +36 -14
  19. data/lib/dynamoid/errors.rb +14 -2
  20. data/lib/dynamoid/finders.rb +6 -6
  21. data/lib/dynamoid/loadable.rb +1 -0
  22. data/lib/dynamoid/persistence/inc.rb +6 -7
  23. data/lib/dynamoid/persistence/item_updater_with_casting_and_dumping.rb +36 -0
  24. data/lib/dynamoid/persistence/item_updater_with_dumping.rb +33 -0
  25. data/lib/dynamoid/persistence/save.rb +5 -2
  26. data/lib/dynamoid/persistence/update_fields.rb +5 -3
  27. data/lib/dynamoid/persistence/upsert.rb +5 -4
  28. data/lib/dynamoid/persistence.rb +38 -17
  29. data/lib/dynamoid/transaction_write/base.rb +47 -0
  30. data/lib/dynamoid/transaction_write/create.rb +49 -0
  31. data/lib/dynamoid/transaction_write/delete_with_instance.rb +60 -0
  32. data/lib/dynamoid/transaction_write/delete_with_primary_key.rb +59 -0
  33. data/lib/dynamoid/transaction_write/destroy.rb +79 -0
  34. data/lib/dynamoid/transaction_write/save.rb +164 -0
  35. data/lib/dynamoid/transaction_write/update_attributes.rb +46 -0
  36. data/lib/dynamoid/transaction_write/update_fields.rb +102 -0
  37. data/lib/dynamoid/transaction_write/upsert.rb +96 -0
  38. data/lib/dynamoid/transaction_write.rb +464 -0
  39. data/lib/dynamoid/type_casting.rb +3 -1
  40. data/lib/dynamoid/undumping.rb +13 -2
  41. data/lib/dynamoid/validations.rb +1 -1
  42. data/lib/dynamoid/version.rb +1 -1
  43. data/lib/dynamoid.rb +7 -0
  44. metadata +18 -5
@@ -24,7 +24,7 @@ module Dynamoid
24
24
  # @since 0.2.0
25
25
  def valid?(context = nil)
26
26
  context ||= (new_record? ? :create : :update)
27
- super(context)
27
+ super
28
28
  end
29
29
 
30
30
  # Raise an error unless this object is valid.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dynamoid
4
- VERSION = '3.10.0'
4
+ VERSION = '3.11.0'
5
5
  end
data/lib/dynamoid.rb CHANGED
@@ -35,6 +35,7 @@ require 'dynamoid/loadable'
35
35
  require 'dynamoid/components'
36
36
  require 'dynamoid/document'
37
37
  require 'dynamoid/adapter'
38
+ require 'dynamoid/transaction_write'
38
39
 
39
40
  require 'dynamoid/tasks/database'
40
41
 
@@ -62,4 +63,10 @@ module Dynamoid
62
63
  def adapter
63
64
  @adapter ||= Adapter.new
64
65
  end
66
+
67
+ # @private
68
+ def deprecator
69
+ # all the deprecated behavior will be removed in the next major version
70
+ @deprecator ||= ActiveSupport::Deprecation.new('4.0', 'Dynamoid')
71
+ end
65
72
  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: 3.10.0
4
+ version: 3.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Symonds
@@ -21,7 +21,7 @@ authors:
21
21
  autorequire:
22
22
  bindir: bin
23
23
  cert_chain: []
24
- date: 2024-02-10 00:00:00.000000000 Z
24
+ date: 2025-01-12 00:00:00.000000000 Z
25
25
  dependencies:
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activemodel
@@ -194,6 +194,7 @@ files:
194
194
  - lib/dynamoid/adapter_plugin/aws_sdk_v3/query.rb
195
195
  - lib/dynamoid/adapter_plugin/aws_sdk_v3/scan.rb
196
196
  - lib/dynamoid/adapter_plugin/aws_sdk_v3/table.rb
197
+ - lib/dynamoid/adapter_plugin/aws_sdk_v3/transact.rb
197
198
  - lib/dynamoid/adapter_plugin/aws_sdk_v3/until_past_table_status.rb
198
199
  - lib/dynamoid/application_time_zone.rb
199
200
  - lib/dynamoid/associations.rb
@@ -230,6 +231,8 @@ files:
230
231
  - lib/dynamoid/persistence.rb
231
232
  - lib/dynamoid/persistence/import.rb
232
233
  - lib/dynamoid/persistence/inc.rb
234
+ - lib/dynamoid/persistence/item_updater_with_casting_and_dumping.rb
235
+ - lib/dynamoid/persistence/item_updater_with_dumping.rb
233
236
  - lib/dynamoid/persistence/save.rb
234
237
  - lib/dynamoid/persistence/update_fields.rb
235
238
  - lib/dynamoid/persistence/update_validations.rb
@@ -239,6 +242,16 @@ files:
239
242
  - lib/dynamoid/tasks.rb
240
243
  - lib/dynamoid/tasks/database.rake
241
244
  - lib/dynamoid/tasks/database.rb
245
+ - lib/dynamoid/transaction_write.rb
246
+ - lib/dynamoid/transaction_write/base.rb
247
+ - lib/dynamoid/transaction_write/create.rb
248
+ - lib/dynamoid/transaction_write/delete_with_instance.rb
249
+ - lib/dynamoid/transaction_write/delete_with_primary_key.rb
250
+ - lib/dynamoid/transaction_write/destroy.rb
251
+ - lib/dynamoid/transaction_write/save.rb
252
+ - lib/dynamoid/transaction_write/update_attributes.rb
253
+ - lib/dynamoid/transaction_write/update_fields.rb
254
+ - lib/dynamoid/transaction_write/upsert.rb
242
255
  - lib/dynamoid/type_casting.rb
243
256
  - lib/dynamoid/undumping.rb
244
257
  - lib/dynamoid/validations.rb
@@ -248,10 +261,10 @@ licenses:
248
261
  - MIT
249
262
  metadata:
250
263
  homepage_uri: http://github.com/Dynamoid/dynamoid
251
- source_code_uri: https://github.com/Dynamoid/dynamoid/tree/v3.10.0
252
- changelog_uri: https://github.com/Dynamoid/dynamoid/blob/v3.10.0/CHANGELOG.md
264
+ source_code_uri: https://github.com/Dynamoid/dynamoid/tree/v3.11.0
265
+ changelog_uri: https://github.com/Dynamoid/dynamoid/blob/v3.11.0/CHANGELOG.md
253
266
  bug_tracker_uri: https://github.com/Dynamoid/dynamoid/issues
254
- documentation_uri: https://www.rubydoc.info/gems/dynamoid/3.10.0
267
+ documentation_uri: https://www.rubydoc.info/gems/dynamoid/3.11.0
255
268
  funding_uri: https://opencollective.com/dynamoid
256
269
  wiki_uri: https://github.com/Dynamoid/dynamoid/wiki
257
270
  rubygems_mfa_required: 'true'