Dylan Knutson
ba1b74022a
[wip] loading optimizations
2025-07-28 02:04:25 +00:00
Dylan Knutson
2090564947
rests for range queries
2025-07-28 01:54:08 +00:00
Dylan Knutson
ea26ca6e06
rdbgrc to ignore extraneous stack frames
2025-07-28 00:21:59 +00:00
Dylan Knutson
8f610b8fa7
allow redefinition of methods
2025-07-26 00:37:14 +00:00
Dylan Knutson
6df1fe8053
remove demo_functionality
2025-07-25 17:19:22 -07:00
Dylan Knutson
4249329fa3
tests for has_many
2025-07-24 05:22:55 +00:00
Dylan Knutson
ad8ae7945b
tests for has_one & belongs_to custom foreign keys
2025-07-24 05:19:46 +00:00
Dylan Knutson
59b11c336f
query by association values
2025-07-24 04:04:08 +00:00
Dylan Knutson
a4c9c597e3
.not chained queries
2025-07-23 23:08:46 +00:00
Dylan Knutson
fb7912e353
spec for habtm counter cache
2025-07-21 16:58:58 +00:00
Dylan Knutson
025cbd3f5c
more tests for join counter caches
2025-07-21 16:45:50 +00:00
Dylan Knutson
e234b48e7f
counter cache
2025-07-21 06:29:39 +00:00
Dylan Knutson
3a8d71e2f7
cache bundle install at devcontainer build step
2025-07-21 05:22:10 +00:00
Dylan Knutson
8854dddb4a
counter cache support
2025-07-20 17:56:08 +00:00
Dylan Knutson
198ab946d7
refactor devcontainer for simpler ruby install
2025-07-20 17:53:09 +00:00
Dylan Knutson
6ba5a70bb5
*_attribute methods take String or Symbol
2025-07-19 05:13:14 +00:00
Dylan Knutson
42d3ce97d9
association reloading
2025-07-19 00:14:56 +00:00
Dylan Knutson
a526fb54f1
enums
2025-07-18 21:57:22 +00:00
Dylan Knutson
04f6f78730
set associations on aux records
2025-07-18 19:36:46 +00:00
Dylan Knutson
ea33ffbb11
changed, changed_attributes
2025-07-18 17:49:26 +00:00
Dylan Knutson
5cdede91ec
#new without any parameters
2025-07-18 17:41:23 +00:00
Dylan Knutson
5f502b4f6f
typing for migration
2025-07-18 17:27:52 +00:00
Dylan Knutson
26ad0e3ea3
allow reloading of models
2025-07-18 16:40:18 +00:00
Dylan Knutson
5cf9cfbc81
remove const_defined? check
2025-07-18 16:33:08 +00:00
Dylan Knutson
40fca92530
add sorbet-runtime
2025-07-18 06:18:11 +00:00
Dylan Knutson
8e1c193801
spec refactor
2025-07-18 05:51:24 +00:00
Dylan Knutson
ca9eae138a
relax ancestor requirements
2025-07-18 05:31:42 +00:00
Dylan Knutson
3a80c2b8dd
refactor more logic into AuxTableConfig
2025-07-18 05:27:38 +00:00
Dylan Knutson
d112d8b72d
attributes
2025-07-17 22:03:47 +00:00
Dylan Knutson
d83d6833ad
find_by through collection proxy
2025-07-17 21:52:59 +00:00
Dylan Knutson
d3d459da95
unscoped can take a block
2025-07-17 21:41:16 +00:00
Dylan Knutson
d6792cebeb
loading through base class
2025-07-17 21:19:06 +00:00
Dylan Knutson
b5a4332a1d
invoke initialize blocks
2025-07-17 20:59:39 +00:00
Dylan Knutson
296134af52
refactor methods
2025-07-17 20:54:45 +00:00
Dylan Knutson
502b9cb5fe
inspect attributes
2025-07-17 18:27:57 +00:00
Dylan Knutson
f3990e2654
namespaced model support
2025-07-16 18:31:28 +00:00
Dylan Knutson
fe0f7b9bbe
more typing
2025-07-16 18:23:35 +00:00
Dylan Knutson
331af0683e
update gemspec with repo
2025-07-16 16:41:16 +00:00
Dylan Knutson
19d96dfebe
update tapioca, more type annotations
2025-07-16 16:24:35 +00:00
Dylan Knutson
fda95fb33f
more rspec
2025-07-15 07:22:38 +00:00
Dylan Knutson
239afcbadb
fix specs, use relation hooks
2025-07-15 06:21:10 +00:00
Dylan Knutson
fd91328334
more wip before breaking everything
2025-07-15 04:11:54 +00:00
Dylan Knutson
5f358abae6
checkpoint before breaking things
2025-07-15 03:50:34 +00:00
Dylan Knutson
9f73c0d364
ActiveRecord::AuxTable -> HasAuxTable
2025-07-14 17:32:58 +00:00
Dylan Knutson
81ec3d2902
use migration helpers in spec
2025-07-14 17:13:58 +00:00
Dylan Knutson
c870eef9bc
migration extension helpers
2025-07-14 17:08:22 +00:00
Dylan Knutson
4933e63f31
fix model saving
2025-07-14 07:36:50 +00:00
Dylan Knutson
30b017906f
more ar hacking
2025-07-14 05:44:01 +00:00
Dylan Knutson
bb5c22b070
lefthook ignore vscode dir
2025-07-14 05:41:49 +00:00
Dylan Knutson
a09465ac54
Replace includes with eager_load for optimal single-query performance
...
- Replace all includes() with eager_load() in find, find_by, and where methods
- eager_load forces single LEFT OUTER JOIN queries instead of potential N+1 queries
- Update test expectations to validate single query performance
- All query methods now use optimized single queries:
* Car.find(id) - 1 query with full JOIN
* Car.find_by(fuel_type: 'hybrid') - 1 query with full JOIN
* Car.where(fuel_type: 'hybrid') - 1 query with full JOIN
* Chained where() queries - 1 query with full JOIN
Performance improvements:
- Eliminated N+1 queries for find and find_by methods
- Consistent single-query behavior across all query methods
- Proper association loading with eager_load vs includes
- All 58 tests passing with optimal performance
2025-07-13 06:23:07 +00:00