ocean-dynamo 0.3.2 → 0.3.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f942e71fcd88e1e0971e48f931e62a686f1cf28
4
- data.tar.gz: bb383ce780b0d04419de134073ea56d0bb6d3af7
3
+ metadata.gz: 138288de7c56bfec0e6b855364e910db04068cb9
4
+ data.tar.gz: 7d7777352fdd4fbd27b9bcc78cba18ce7e5f7343
5
5
  SHA512:
6
- metadata.gz: b0f6617f8ed0224199f4b935f8faaa1e4ab54fa70086f6fec6834db564dbf4c61caad45f7de2a9a0a4d79aeb7199c17f30069864fbd383311cd304670210bca8
7
- data.tar.gz: 6b6bcc33a0eb6f471f0d0d9654f12199b5255babf20c1a4028ef352b7e2ec32bbfffbf5b7db5d609ff807a693b9c0ff1ad190de47eb8735fe0e0f29255408917
6
+ metadata.gz: 6914457ba9a20640a814391b537d374b3654493c06fb455f054c200a0a4968a274c1acffc3d8e651ee6ba9ea7d74af45ca09287e997df10dc7190d7d1f68815f
7
+ data.tar.gz: f8d8966879edc71173e31482a5cdbab7904b2eac1990549293c5ebc392501dedb4090a16f817cd7ab08034cd9cb3f2a6ead0ebe347384fef1e0e551d1e5c7237
@@ -33,7 +33,14 @@ module OceanDynamo
33
33
  class RecordNotUnique < StatementInvalid; end
34
34
  class InvalidForeignKey < StatementInvalid; end
35
35
 
36
- class StaleObjectError < DynamoError; end
36
+ class StaleObjectError < DynamoError
37
+ attr_reader :record # :nodoc:
38
+ def initialize(record) # :nodoc:
39
+ @record = record
40
+ errors = @record.errors.full_messages.join(", ")
41
+ super(I18n.t(:"#{@record.class.i18n_scope}.errors.messages.record_invalid", :errors => errors, :default => :"errors.messages.record_invalid"))
42
+ end
43
+ end
37
44
 
38
45
  class ReadOnlyRecord < DynamoError; end
39
46
 
@@ -173,7 +173,7 @@ module OceanDynamo
173
173
  end
174
174
  end
175
175
  rescue AWS::DynamoDB::Errors::ConditionalCheckFailedException
176
- raise OceanDynamo::StaleObjectError
176
+ raise OceanDynamo::StaleObjectError.new(self)
177
177
  end
178
178
  self
179
179
  end
@@ -207,7 +207,7 @@ module OceanDynamo
207
207
  options = _handle_locking(lock)
208
208
  @dynamo_item = dynamo_items.put(serialized_attributes, options)
209
209
  rescue AWS::DynamoDB::Errors::ConditionalCheckFailedException
210
- raise OceanDynamo::StaleObjectError
210
+ raise OceanDynamo::StaleObjectError.new(self)
211
211
  end
212
212
 
213
213
  @new_record = false
@@ -221,7 +221,7 @@ module OceanDynamo
221
221
  options = _handle_locking(lock)
222
222
  @dynamo_item.delete(options)
223
223
  rescue AWS::DynamoDB::Errors::ConditionalCheckFailedException
224
- raise OceanDynamo::StaleObjectError
224
+ raise OceanDynamo::StaleObjectError.new(self)
225
225
  end
226
226
  end
227
227
 
@@ -1,3 +1,3 @@
1
1
  module OceanDynamo
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ocean-dynamo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Bengtson