class Slot::BaseQuery

Included Modules

Direct Known Subclasses

Defined in:

Constructors

Class Method Summary

Macro Summary

Instance Method Summary

Constructor Detail

def self.all : self #

Class Method Detail

def self.any? : Bool #
Description copied from module Enumerable(Slot)

Returns true if at least one of the collection's members is truthy.

[nil, true, 99].any? # => true
[nil, false].any?    # => false
([] of Int32).any?   # => false
  • #present? does not consider truthiness of elements.
  • #any?(&) and #any(pattern) allow custom conditions.

NOTE #any? usually has the same semantics as #present?. They only differ if the element type can be falsey (i.e. T <= Nil || T <= Pointer || T <= Bool). It's typically advised to prefer #present? unless these specific truthiness semantics are required.


def self.find(id) : T #

def self.first : T #
Description copied from module Enumerable(Slot)

Returns the first element in the collection. Raises Enumerable::EmptyError if the collection is empty.

([1, 2, 3]).first   # => 1
([] of Int32).first # raises Enumerable::EmptyError

def self.first? : T | Nil #
Description copied from module Enumerable(Slot)

Returns the first element in the collection. When the collection is empty, returns nil.

([1, 2, 3]).first?   # => 1
([] of Int32).first? # => nil

def self.last : T #

def self.last? : T | Nil #

def self.new_with_existing_query(query : Avram::QueryBuilder) #

def self.none? : Bool #
Description copied from module Enumerable(Slot)

Returns true if all of the elements of the collection are falsey.

[nil, false].none?       # => true
[nil, false, true].none? # => false

It's the opposite of all?.


def self.preload_event(record : Slot, force : Bool = false) : Slot #

def self.preload_event(record : Slot, force : Bool = false, &) : Slot #

def self.preload_event(record : Slot, preload_query : Event::BaseQuery, force : Bool = false) : Slot #

def self.preload_event(records : Enumerable(Slot), force : Bool = false) : Array(Slot) #

def self.preload_event(records : Enumerable(Slot), force : Bool = false, &) : Array(Slot) #

def self.preload_event(records : Enumerable(Slot), preload_query : Event::BaseQuery, force : Bool = false) : Array(Slot) #

def self.preload_responses(record : Slot, force : Bool = false) : Slot #

def self.preload_responses(record : Slot, force : Bool = false, &) : Slot #

def self.preload_responses(record : Slot, preload_query : Response::BaseQuery, force : Bool = false) : Slot #

def self.preload_responses(records : Enumerable(Slot), force : Bool = false) : Array(Slot) #

def self.preload_responses(records : Enumerable(Slot), force : Bool = false, &) : Array(Slot) #

def self.preload_responses(records : Enumerable(Slot), preload_query : Response::BaseQuery, force : Bool = false) : Array(Slot) #

def self.truncate(*, cascade : Bool = false, restart_identity : Bool = false) #

Removes all data from a table using the TRUNCATE postgres SQL command.

You should run this command with cascade: true if your table columns are referenced by other foreign key constraints. Use delete instead if you don't want to accidentally delete rows referenced elsewhere.

To delete all data referenced by foreign keys as well, set cascade to true.


Macro Detail

macro generate_criteria_method(name, type) #

Instance Method Detail

def clone #

Returns a copy of self with all instance variables cloned.


def created_at(value) #

def created_at #

def event_id(value) #

def event_id #

def find(id) : T #

def full_join_event #

def full_join_responses #

def id(value) #

def id #

def inner_join_event #

def inner_join_responses #

def join_event #

def join_responses #

def left_join_event #

def left_join_responses #

def preload_event(preload_query : Event::BaseQuery) : self #

def preload_event : self #

def preload_event(&) : self #

def preload_responses(preload_query : Response::BaseQuery) : self #

def preload_responses : self #

def preload_responses(&) : self #

def right_join_event #

def right_join_responses #

def slot_start(value) #

def slot_start #

def slot_type(value) #

def slot_type #

def update(id : Int64 | Avram::Nothing = IGNORE, created_at : Time | Avram::Nothing = IGNORE, updated_at : Time | Avram::Nothing = IGNORE, event_id : Event::PrimaryKeyType | Avram::Nothing = IGNORE, slot_type : Slot::SlotType | Avram::Nothing = IGNORE, slot_start : Time | Avram::Nothing = IGNORE) : Int64 #
Description copied from module Avram::Queryable(Slot)

Update the records using the query's where clauses, or all records if no wheres are added.

Returns the number of records updated as Int64.

# Update all comments with the word "spam" as spam
CommentQuery.new.body.ilike("spam").update(spam: true)

def updated_at(value) #

def updated_at #

def where_event(assoc_query : Event::BaseQuery, auto_inner_join : Bool = true) #

def where_responses(assoc_query : Response::BaseQuery, auto_inner_join : Bool = true) #