module Prostore::Query::Q

Overview

Free-standing predicate constructors so users can build expressions outside the named-arg where shorthand. The Builder also exposes these as instance methods for use inside the with builder block context emitted by the query macro.

User.where(Q.or(Q.eq(:status, "active"), Q.eq(:status, "pending")))
User.where(Q.gt(:score, 100))
User.where(Q.null?(:deleted_at))

Extended Modules

Defined in:

prostore/query/predicates.cr

Instance Method Summary

Instance Method Detail

def all(*predicates : AST::Predicate) : AST::Predicate #

[View source]
def any(*predicates : AST::Predicate) : AST::Predicate #

[View source]
def eq(field : Symbol | String, value) : AST::Predicate #

[View source]
def gt(field : Symbol | String, value) : AST::Predicate #

[View source]
def gte(field : Symbol | String, value) : AST::Predicate #

[View source]
def in(field : Symbol | String, values : Array) : AST::Predicate #

[View source]
def like(field : Symbol | String, pattern : String) : AST::Predicate #

[View source]
def lt(field : Symbol | String, value) : AST::Predicate #

[View source]
def lte(field : Symbol | String, value) : AST::Predicate #

[View source]
def ne(field : Symbol | String, value) : AST::Predicate #

[View source]
def not(predicate : AST::Predicate) : AST::Predicate #

[View source]
def not_null?(field : Symbol | String) : AST::Predicate #

[View source]
def null?(field : Symbol | String) : AST::Predicate #

[View source]