Class: Dymos::Query::Scan
Instance Method Summary
collapse
#expression_attribute_names, #expression_attribute_values, #filter_expression
Methods inherited from Base
#build, #initialize, #name
Instance Method Details
#_add_filter(column, operator, value) ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/dymos/query/scan.rb', line 40
def _add_filter(column, operator, value)
hash = {
comparison_operator: operator.to_s.upcase
}
hash[:attribute_value_list]=[*value] if value.present?
[column.to_s, hash]
end
|
#add_filter(*values) ⇒ Object
31
32
33
34
35
36
37
38
|
# File 'lib/dymos/query/scan.rb', line 31
def add_filter(*values)
column, operator, value = parse_condition(*values)
@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
10
11
12
13
|
# File 'lib/dymos/query/scan.rb', line 10
def attributes(*value)
@query[:attributes_to_get] = value
self
end
|
#command ⇒ Object
6
7
8
|
# File 'lib/dymos/query/scan.rb', line 6
def command
'scan'
end
|
#exclusive_start_key(value) ⇒ Object
Also known as:
start_key
53
54
55
56
|
# File 'lib/dymos/query/scan.rb', line 53
def exclusive_start_key(value)
@query[:exclusive_start_key] = value.deep_stringify_keys
self
end
|
#filter(value, operator = 'AND') ⇒ Object
25
26
27
28
29
|
# File 'lib/dymos/query/scan.rb', line 25
def filter(value, operator='AND')
value.map { |v| add_filter(*v) }
filter_operator operator.to_s.upcase if value.count > 1
self
end
|
#filter_operator(value) ⇒ Object
48
49
50
51
|
# File 'lib/dymos/query/scan.rb', line 48
def filter_operator(value)
@query[:conditional_operator] = value.to_s.upcase
self
end
|
#limit(value) ⇒ Object
15
16
17
18
|
# File 'lib/dymos/query/scan.rb', line 15
def limit(value)
@query[:limit] = value
self
end
|
#return_consumed_capacity(value) ⇒ Object
60
61
62
63
|
# File 'lib/dymos/query/scan.rb', line 60
def return_consumed_capacity(value)
@query[:return_consumed_capacity] = value.to_s.upcase
self
end
|
#segment(value) ⇒ Object
70
71
72
73
|
# File 'lib/dymos/query/scan.rb', line 70
def segment(value)
@query[:segment] = value
self
end
|
#select(value) ⇒ Object
20
21
22
23
|
# File 'lib/dymos/query/scan.rb', line 20
def select(value)
@query[:select] = value
self
end
|
#total_segments(value) ⇒ Object
65
66
67
68
|
# File 'lib/dymos/query/scan.rb', line 65
def total_segments(value)
@query[:total_segments] = value
self
end
|