Class: Dynomite::Item::Query::Params::Function::AttributeExists

Inherits:
Base
  • Object
show all
Defined in:
lib/dynomite/item/query/params/function/attribute_exists.rb

Constant Summary

Constants included from Types

Types::TYPE_MAP

Instance Method Summary collapse

Methods inherited from Base

#attribute_values, #build_attribute_names_with_dot_paths, #initialize

Methods included from Types

#type_map

Methods included from Helpers

#all_where_field_names, #all_where_fields, #disable_index_for_any_or?, #disable_index_for_consistent_read?, #disable_index_for_not?, #normalize_expression_path, #normalize_project_expression, #query, #scan_required?, #with_where_groups

Constructor Details

This class inherits a constructor from Dynomite::Item::Query::Params::Function::Base

Instance Method Details

#attribute_namesObject



16
17
18
19
# File 'lib/dynomite/item/query/params/function/attribute_exists.rb', line 16

def attribute_names
  paths = @query[:attribute_exists] + @query[:attribute_not_exists]
  build_attribute_names_with_dot_paths(paths)
end

#filter_expressionObject



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/dynomite/item/query/params/function/attribute_exists.rb', line 3

def filter_expression
  filter_expression = []
  @query[:attribute_exists].each do |path|
    path = normalize_expression_path(path)
    filter_expression << "attribute_exists(#{path})"
  end
  @query[:attribute_not_exists].each do |path|
    path = normalize_expression_path(path)
    filter_expression << "attribute_not_exists(#{path})"
  end
  filter_expression
end