Module: ParadeDB::Arel

Defined in:
lib/parade_db/arel.rb,
lib/parade_db/arel/nodes.rb,
lib/parade_db/arel/builder.rb,
lib/parade_db/arel/visitor.rb,
lib/parade_db/arel/predications.rb

Defined Under Namespace

Modules: Nodes, Predications, Visitor Classes: Builder

Class Method Summary collapse

Class Method Details

.sql(raw) ⇒ Object

Helper to wrap raw SQL without quoting.



22
23
24
# File 'lib/parade_db/arel.rb', line 22

def self.sql(raw)
  ::Arel.sql(raw)
end

.to_sql(node, connection = nil) ⇒ Object

Convenience helper to render any ParadeDB Arel node to SQL.



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

def self.to_sql(node, connection = nil)
  conn = connection || ::ActiveRecord::Base.connection
  ParadeDB.ensure_postgresql_adapter!(conn, context: "ParadeDB::Arel.to_sql")

  collector = ::Arel::Collectors::SQLString.new
  conn.visitor.accept(node, collector).value
end