Class: Dymos::Query::Scan
- Inherits:
-
Base
- Object
- Base
- Dymos::Query::Scan
show all
- Defined in:
- lib/dymos/query/scan.rb
Instance Method Summary
collapse
Methods inherited from Base
#build, #initialize, #name
Instance Method Details
#_add_filter(column, operator, value) ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/dymos/query/scan.rb', line 41
def _add_filter(column, operator, value)
[column.to_s, {
attribute_value_list: [*value],
comparison_operator: operator.to_s.upcase
}
]
end
|
#add_filter(*value) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dymos/query/scan.rb', line 29
def add_filter(*value)
if value.count == 2
column, operator, value = value[0], :eq, value[1]
else
column, operator, value = value
end
@query[:scan_filter] ||= {}
@query[:scan_filter].store(*_add_filter(column, operator, value))
filter_operator 'AND' if @query[:conditional_operator].blank? && @query[:scan_filter].count > 1
self
end
|
#attributes(*value) ⇒ Object
8
9
10
11
|
# File 'lib/dymos/query/scan.rb', line 8
def attributes(*value)
@query[:attributes_to_get] = value
self
end
|
#command ⇒ Object
4
5
6
|
# File 'lib/dymos/query/scan.rb', line 4
def command
'scan'
end
|
#exclusive_start_key(value) ⇒ Object
Also known as:
start_key
54
55
56
57
|
# File 'lib/dymos/query/scan.rb', line 54
def exclusive_start_key(value)
@query[:exclusive_start_key] = value.deep_stringify_keys
self
end
|
#expression_attribute_names(value) ⇒ Object
86
87
88
89
|
# File 'lib/dymos/query/scan.rb', line 86
def expression_attribute_names(value)
@query[:expression_attribute_names] = value.deep_stringify_keys
self
end
|
#expression_attribute_values(value) ⇒ Object
91
92
93
94
|
# File 'lib/dymos/query/scan.rb', line 91
def expression_attribute_values(value)
@query[:expression_attribute_values] = value.deep_stringify_keys
self
end
|
#filter(value, operator = 'AND') ⇒ Object
23
24
25
26
27
|
# File 'lib/dymos/query/scan.rb', line 23
def filter(value, operator='AND')
value.map { |v| add_filter(*v) }
filter_operator operator.to_s.upcase if value.count > 1
self
end
|
#filter_expression(value) ⇒ Object
81
82
83
84
|
# File 'lib/dymos/query/scan.rb', line 81
def filter_expression(value)
@query[:filter_expression] = value
self
end
|
#filter_operator(value) ⇒ Object
49
50
51
52
|
# File 'lib/dymos/query/scan.rb', line 49
def filter_operator(value)
@query[:conditional_operator] = value.to_s.upcase
self
end
|
#limit(value) ⇒ Object
13
14
15
16
|
# File 'lib/dymos/query/scan.rb', line 13
def limit(value)
@query[:limit] = value
self
end
|
#projection_expression(value) ⇒ Object
76
77
78
79
|
# File 'lib/dymos/query/scan.rb', line 76
def projection_expression(value)
@query[:projection_expression] = value
self
end
|
#return_consumed_capacity(value) ⇒ Object
61
62
63
64
|
# File 'lib/dymos/query/scan.rb', line 61
def return_consumed_capacity(value)
@query[:return_consumed_capacity] = value.to_s.upcase
self
end
|
#segment(value) ⇒ Object
71
72
73
74
|
# File 'lib/dymos/query/scan.rb', line 71
def segment(value)
@query[:segment] = value
self
end
|
#select(value) ⇒ Object
18
19
20
21
|
# File 'lib/dymos/query/scan.rb', line 18
def select(value)
@query[:select] = value
self
end
|
#total_segments(value) ⇒ Object
66
67
68
69
|
# File 'lib/dymos/query/scan.rb', line 66
def total_segments(value)
@query[:total_segments] = value
self
end
|