class

Bonspiel::BaseQuery

Inherits Avram::PrimaryKeyQueryable < Avram::Queryable < Enumerable < Reference < Object

Constructors

all

Class methods

any?

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.

find(id)
first

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
first?

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

([1, 2, 3]).first?   # => 1
([] of Int32).first? # => nil
last
last?
new_with_existing_query(query : Avram::QueryBuilder)
none?

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?.

preload_draws(records : Enumerable, preload_query)
preload_draws(record, preload_query)
preload_draws(records : Enumerable)
preload_draws(record)
preload_draws(records : Enumerable, &)
preload_draws(record, &)
preload_games(records : Enumerable, preload_query)
preload_games(record, preload_query)
preload_games(records : Enumerable)
preload_games(record)
preload_games(records : Enumerable, &)
preload_games(record, &)
preload_owner(records : Enumerable, preload_query)
preload_owner(record, preload_query)
preload_owner(records : Enumerable)
preload_owner(record)
preload_owner(records : Enumerable, &)
preload_owner(record, &)
preload_presenting_game(records : Enumerable, preload_query)
preload_presenting_game(record, preload_query)
preload_presenting_game(records : Enumerable)
preload_presenting_game(record)
preload_presenting_game(records : Enumerable, &)
preload_presenting_game(record, &)
truncate(*, cascade : 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.

Instance methods

clone

Returns a copy of self with all instance variables cloned.

created_at(value)
created_at
end_at(value)
end_at
find(id)
full_join_draws
full_join_games
full_join_owner
full_join_presenting_game
id(value)
id
inner_join_draws
inner_join_games
inner_join_owner
inner_join_presenting_game
join_draws
join_games
join_owner
join_presenting_game
left_join_draws
left_join_games
left_join_owner
left_join_presenting_game
name(value)
name
owner_id(value)
owner_id
preload_draws(preload_query : Draw::BaseQuery)
preload_draws
preload_draws
preload_games(preload_query : Game::BaseQuery)
preload_games
preload_games
preload_owner(preload_query : User::BaseQuery)
preload_owner
preload_owner
preload_presenting_game(preload_query : Game::BaseQuery)
preload_presenting_game
preload_presenting_game
presenting_game_id(value)
presenting_game_id
right_join_draws
right_join_games
right_join_owner
right_join_presenting_game
sheets(value)
sheets
start_at(value)
start_at
update(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, start_at : Time | Avram::Nothing = Avram::Nothing.new, end_at : Time | Avram::Nothing = Avram::Nothing.new, sheets : Int16 | Avram::Nothing = Avram::Nothing.new, owner_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, presenting_game_id : Game::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new) : Int64

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)
updated_at(value)
updated_at
where_draws(assoc_query : Draw::BaseQuery, auto_inner_join : Bool = true)
where_games(assoc_query : Game::BaseQuery, auto_inner_join : Bool = true)
where_owner(assoc_query : User::BaseQuery, auto_inner_join : Bool = true)
where_presenting_game(assoc_query : Game::BaseQuery, auto_inner_join : Bool = true)

Macros

generate_criteria_method(name, type)