class AgnosticBackend::Queryable::Executor

Attributes

options[R]
query[R]
visitor[R]

Public Class Methods

new(query, visitor, **options) click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 9
def initialize(query, visitor, **options)
  @query = query
  @visitor = visitor
  @options = options
end

Public Instance Methods

execute() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 15
def execute
  raise NotImplementedError, 'Abstract method'
end

Private Instance Methods

filter_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 45
def filter_expression
  query.children.find { |e| e.is_a? Expressions::Filter }
end
limit_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 33
def limit_expression
  query.children.find { |e| e.is_a? Expressions::Limit }
end
offset_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 37
def offset_expression
  query.children.find { |e| e.is_a? Expressions::Offset }
end
order_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 21
def order_expression
  query.children.find { |e| e.is_a? Expressions::Order }
end
scroll_cursor_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 41
def scroll_cursor_expression
  query.children.find { |e| e.is_a? Expressions::ScrollCursor }
end
select_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 29
def select_expression
  query.children.find { |e| e.is_a? Expressions::Select }
end
where_expression() click to toggle source
# File lib/agnostic_backend/queryable/executor.rb, line 25
def where_expression
  query.children.find { |e| e.is_a? Expressions::Where }
end