0.5.0
What's Changed
π₯ Breaking Changes
- π
select:keyword argument removed β use positional argument instead# before query.select_all(select: "SELECT * FROM :_") # after query.select_all("SELECT * FROM :_")
β¨ Features
- πΎ Add paginate ERB-helper
SELECT * FROM articles <%= paginate(page: 1, per_page: 15) %> # SELECT * FROM articles LIMIT 15 OFFSET 0
- π§° Resolve query without extension
AppQuery[:weekly_sales]loadsweekly_sales.sqlorweekly_sales.sql.erb. - π Nested result queries via
with_selectβ chain transformations using:_placeholder to reference the previous resultactive_users = AppQuery("SELECT * FROM users").with_select("SELECT * FROM :_ WHERE active") active_users.count("SELECT * FROM :_ WHERE admin")
- π New methods:
#column,#ids,#count,#entriesβ efficient shortcuts that only fetch what you needquery.column(:email) # SELECT email only query.ids # SELECT id only query.count # SELECT COUNT(*) only query.entries # shorthand for select_all.entries
π Fixes
- π§ Fix leading whitespace in
prepend_ctecausing parse errors - π§ Fix binds being reset when no placeholders found
- β‘
select_onenow usesLIMIT 1for better performance
π Documentation
- π Revised README with cleaner intro and examples
- π Added example Rails app in
examples/demo
Full Diff: 0.4.0...0.5.0
CHANGELOG: 0.5.0