Module: ParadeDB::Arel::Visitor::PostgreSQLExtensions

Defined in:
lib/parade_db/arel/visitor.rb

Instance Method Summary collapse

Instance Method Details

#visit_ParadeDB_Arel_Nodes_ArrayLiteral(o, collector) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/parade_db/arel/visitor.rb', line 50

def visit_ParadeDB_Arel_Nodes_ArrayLiteral(o, collector)
  collector << "ARRAY["
  o.values.each_with_index do |value, idx|
    collector << ", " if idx.positive?
    collector = visit(value, collector)
  end
  collector << "]"
end

#visit_ParadeDB_Arel_Nodes_BoostCast(o, collector) ⇒ Object



7
8
9
10
11
12
# File 'lib/parade_db/arel/visitor.rb', line 7

def visit_ParadeDB_Arel_Nodes_BoostCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::pdb.boost("
  collector = visit(o.factor, collector)
  collector << ")"
end

#visit_ParadeDB_Arel_Nodes_ConstCast(o, collector) ⇒ Object



14
15
16
17
18
19
# File 'lib/parade_db/arel/visitor.rb', line 14

def visit_ParadeDB_Arel_Nodes_ConstCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::pdb.const("
  collector = visit(o.score, collector)
  collector << ")"
end

#visit_ParadeDB_Arel_Nodes_FuzzyCast(o, collector) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/parade_db/arel/visitor.rb', line 33

def visit_ParadeDB_Arel_Nodes_FuzzyCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::pdb.fuzzy("
  collector = visit(o.distance, collector)

  if o.transposition_cost_one
    collector << ", "
    collector << (o.prefix ? '"true"' : '"false"')
    collector << ", "
    collector << '"true"'
  elsif o.prefix
    collector << ', "true"'
  end

  collector << ")"
end

#visit_ParadeDB_Arel_Nodes_ParseNode(o, collector) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/parade_db/arel/visitor.rb', line 71

def visit_ParadeDB_Arel_Nodes_ParseNode(o, collector)
  collector << "pdb.parse("
  collector = visit(o.query, collector)

  unless o.lenient.nil?
    collector << ", lenient => "
    collector << (o.lenient ? "true" : "false")
  end

  unless o.conjunction_mode.nil?
    collector << ", conjunction_mode => "
    collector << (o.conjunction_mode ? "true" : "false")
  end

  collector << ")"
end

#visit_ParadeDB_Arel_Nodes_QueryCast(o, collector) ⇒ Object



28
29
30
31
# File 'lib/parade_db/arel/visitor.rb', line 28

def visit_ParadeDB_Arel_Nodes_QueryCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::pdb.query"
end

#visit_ParadeDB_Arel_Nodes_SlopCast(o, collector) ⇒ Object



21
22
23
24
25
26
# File 'lib/parade_db/arel/visitor.rb', line 21

def visit_ParadeDB_Arel_Nodes_SlopCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::pdb.slop("
  collector = visit(o.distance, collector)
  collector << ")"
end

#visit_ParadeDB_Arel_Nodes_TokenizerCast(o, collector) ⇒ Object



59
60
61
62
63
# File 'lib/parade_db/arel/visitor.rb', line 59

def visit_ParadeDB_Arel_Nodes_TokenizerCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::"
  collector << o.tokenizer_sql
end

#visit_ParadeDB_Arel_Nodes_TypeCast(o, collector) ⇒ Object



65
66
67
68
69
# File 'lib/parade_db/arel/visitor.rb', line 65

def visit_ParadeDB_Arel_Nodes_TypeCast(o, collector)
  collector = visit(o.expr, collector)
  collector << "::"
  collector << o.type_sql
end