20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/dynamoid/transaction_write/save.rb', line 20
def on_registration
validate_model!
if @options[:validate] != false && !(@valid = @model.valid?)
if @options[:raise_error]
raise Dynamoid::Errors::DocumentNotValid, @model
else
@aborted = true
return
end
end
@aborted = true
callback_name = @was_new_record ? :create : :update
@model.run_callbacks(:save) do
@model.run_callbacks(callback_name) do
@model.run_callbacks(:validate) do
@aborted = false
true
end
end
end
if @aborted && @options[:raise_error]
raise Dynamoid::Errors::RecordNotSaved, @model
end
if @was_new_record && @model.hash_key.nil?
@model.hash_key = SecureRandom.uuid
end
end
|