Class: Dymos::Query::UpdateItem
- Inherits:
-
Base
- Object
- Base
- Dymos::Query::UpdateItem
show all
- Defined in:
- lib/dymos/query/update_item.rb
Instance Method Summary
collapse
Methods inherited from Base
#build, #initialize, #name
Instance Method Details
#_add_expected(column, operator, value) ⇒ Object
68
69
70
71
72
73
74
|
# File 'lib/dymos/query/update_item.rb', line 68
def _add_expected(column, operator, value)
[column.to_s, {
attribute_value_list: ([:BETWEEN, :IN].include? operator) ? [*value] : [value],
comparison_operator: operator.to_s.upcase
}
]
end
|
#_attribute_updates(column, action, value) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/dymos/query/update_item.rb', line 44
def _attribute_updates(column, action, value)
[column.to_s, {
value: value,
action: action.to_s.upcase
}
]
end
|
#add(column, value) ⇒ Object
13
14
15
16
|
# File 'lib/dymos/query/update_item.rb', line 13
def add(column, value)
add_attribute_updates(column, :add, value)
self
end
|
#add_attribute_updates(*value) ⇒ Object
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/dymos/query/update_item.rb', line 33
def add_attribute_updates(*value)
if value.count == 2
column, operator, value = value[0], :put, value[1]
else
column, operator, value = value
end
@query[:attribute_updates] ||= {}
@query[:attribute_updates].store(*_attribute_updates(column, operator, value))
self
end
|
#add_expected(*value) ⇒ Object
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/dymos/query/update_item.rb', line 57
def add_expected(*value)
if value.count == 2
column, operator, value = value[0], :eq, value[1]
else
column, operator, value = value
end
@query[:expected] ||= {}
@query[:expected].store(*_add_expected(column, operator, value))
self
end
|
#attribute_updates(*value) ⇒ Object
28
29
30
31
|
# File 'lib/dymos/query/update_item.rb', line 28
def attribute_updates(*value)
value.map { |v| add_attribute_updates(*v) }
self
end
|
#command ⇒ Object
4
5
6
|
# File 'lib/dymos/query/update_item.rb', line 4
def command
'update_item'
end
|
#condition_expression(value) ⇒ Object
102
103
104
105
|
# File 'lib/dymos/query/update_item.rb', line 102
def condition_expression(value)
@query[:condition_expression] = value
self
end
|
#conditional_operator(value) ⇒ Object
76
77
78
79
|
# File 'lib/dymos/query/update_item.rb', line 76
def conditional_operator(value)
@query[:conditional_operator] = value.to_s.upcase
self
end
|
#delete(column, value) ⇒ Object
23
24
25
26
|
# File 'lib/dymos/query/update_item.rb', line 23
def delete(column, value)
add_attribute_updates(column, :delete, value)
self
end
|
#expected(value) ⇒ Object
52
53
54
55
|
# File 'lib/dymos/query/update_item.rb', line 52
def expected(value)
value.map { |v| add_expected(*v) }
self
end
|
#expression_attribute_names(value) ⇒ Object
107
108
109
110
|
# File 'lib/dymos/query/update_item.rb', line 107
def expression_attribute_names(value)
@query[:expression_attribute_names] = value.deep_stringify_keys
self
end
|
#expression_attribute_values(value) ⇒ Object
112
113
114
115
|
# File 'lib/dymos/query/update_item.rb', line 112
def expression_attribute_values(value)
@query[:expression_attribute_values] = value.deep_stringify_keys
self
end
|
#key(value) ⇒ Object
8
9
10
11
|
# File 'lib/dymos/query/update_item.rb', line 8
def key(value)
@query[:key] = value.deep_stringify_keys
self
end
|
#put(column, value) ⇒ Object
18
19
20
21
|
# File 'lib/dymos/query/update_item.rb', line 18
def put(column, value)
add_attribute_updates(column, :put, value)
self
end
|
#return_consumed_capacity(value) ⇒ Object
87
88
89
90
|
# File 'lib/dymos/query/update_item.rb', line 87
def return_consumed_capacity(value)
@query[:return_consumed_capacity] = value.to_s.upcase
self
end
|
#return_item_collection_metrics(value) ⇒ Object
92
93
94
95
|
# File 'lib/dymos/query/update_item.rb', line 92
def return_item_collection_metrics(value)
@query[:return_item_collection_metrics] = value.to_s.upcase
self
end
|
#return_values(value) ⇒ Object
82
83
84
85
|
# File 'lib/dymos/query/update_item.rb', line 82
def return_values(value)
@query[:return_values] = value.to_s.upcase
self
end
|
#update_expression(value) ⇒ Object
97
98
99
100
|
# File 'lib/dymos/query/update_item.rb', line 97
def update_expression(value)
@query[:update_expression] = value
self
end
|