class AdvancedSearch::Adapters::PG::Executor

Public Class Methods

new(base_query, ast, connection) click to toggle source
# File lib/advanced_search/adapters/pg/executor.rb, line 8
def initialize(base_query, ast, connection)
  @base_query = base_query
  @ast = ast
  @connection = connection
end

Public Instance Methods

execute() click to toggle source
# File lib/advanced_search/adapters/pg/executor.rb, line 14
def execute
  visitor = Visitor.new(:dollars)
  @ast.accept(visitor)
  query = visitor.result
  sql = [@base_query, query.body].join(' where ')
  @connection.exec_params(sql, query.params)
end