module
CQL::ActiveRecord::Queryable
Overview
The Queryable module provides methods for querying Active Record models with a chainable query interface. This allows for more readable and maintainable query construction.
Features
- Chainable queries (where, order, limit, etc)
- Terminal operations (all, first, count, etc)
- Syntactic sugar for common queries
Example
# Basic queries
User.all # => [User1, User2, ...]
User.find(1) # => User or nil
User.find!(1) # => User or raise
User.find_by(email: "[email protected]") # => User or nil
# Chainable queries
User.where(active: true)
.where(role: "admin")
.order(created_at: :desc)
.limit(10)
.offset(20)
.all # => [User1, User2, ...]
# Aggregations
User.where(active: true).count # => 42
# Joins
User.join(:posts, {id: :user_id})
.where("posts.published": true)
.all