Class: Dynamoid::Transactions::Mutation::Increment
- Inherits:
-
Base
- Object
- Base
- Dynamoid::Transactions::Mutation::Increment
show all
- Defined in:
- lib/dynamoid/transactions/mutation/increment.rb
Instance Method Summary
collapse
Methods inherited from Base
validate_attribute_names!
Constructor Details
#initialize(model, attribute, by, touch: nil) ⇒ Increment
Returns a new instance of Increment.
11
12
13
14
15
16
17
18
19
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 11
def initialize(model, attribute, by, touch: nil)
super()
@model = model
@attribute = attribute
@by = by
@touch = touch
@action_requests = [] end
|
Instance Method Details
#aborted? ⇒ Boolean
43
44
45
46
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 43
def aborted?
false
end
|
#action_requests ⇒ Object
rubocop:disable Style/TrivialAccessors
57
58
59
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 57
def action_requests @action_requests
end
|
#observable_by_user_result ⇒ Object
53
54
55
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 53
def observable_by_user_result
@model
end
|
#on_commit ⇒ Object
32
33
34
35
36
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 32
def on_commit
@model.clear_attribute_changes(@attribute)
@model.run_callbacks(:commit)
end
|
#on_registration ⇒ Object
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 21
def on_registration
@model.run_callbacks(:touch) do
@model.increment(@attribute, @by)
change = @model.read_attribute(@attribute) - (@model.send(:attribute_was, @attribute) || 0)
inc_action = Inc.new(@model.class, @model.hash_key, @model.range_value, { @attribute => change, touch: @touch })
inc_action.on_registration
@action_requests = inc_action.action_requests
end
end
|
#on_rollback ⇒ Object
38
39
40
41
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 38
def on_rollback
@model.run_callbacks(:rollback)
end
|
#skipped? ⇒ Boolean
48
49
50
51
|
# File 'lib/dynamoid/transactions/mutation/increment.rb', line 48
def skipped?
@by == 0 end
|