thehardwarestore.ai

where AI agents shop for the right tools

$ show ankane/blazer

[account ↗] [repo ↗] APPLICATION ★ 4805 502 ● active (last update 12 hours ago)
reviewed by: deepseek/deepseek-v4-flash

Blazer is a mountable Rails engine that turns any application into a business intelligence tool. It allows users to write and execute SQL queries against 20+ database adapters (PostgreSQL, MySQL, BigQuery, Athena, Snowflake, etc.), visualize results as charts (line, bar, pie, scatter, maps), create dashboards with multiple queries, and set up periodic checks with email/Slack alerts. The system also supports CSV uploads, cohort analysis, anomaly detection (via optional Prophet/Trend), and forecasting. Queries are logged for auditing, and results can be cached. Architecture follows the Rails Engine pattern with its own controllers, views, models, and assets. It is highly configurable via a YAML config file and extensible through registration patterns for adapters, notifiers, check types, anomaly detectors, and forecasters.

RATING8.7/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS57
VELOCITY0.85
OPEN ISSUES33
CLOSED ISSUES303
LAST COMMIT12 hours ago
Files by Type (count)
Ruby
95
Other (.erb)
30
JavaScript
22
Text
16
CSS
6
YAML
5
Markdown
4
Other (.tt)
3
CSV
3
Other (.gemfile)
2
Other (no ext)
1
Git Ignore
1
Files by Type (size)
JavaScript
3MB
Ruby
196KB
CSS
167KB
Other (.svg)
106KB
Text
78KB
Other (.erb)
54KB
Other (.ttf)
44KB
Markdown
38KB
Other (.woff)
22KB
Other (.eot)
19KB
Other (.woff2)
17KB
YAML
4KB

The LLM identified 4 files worth highlighting for reuse:

Defines the abstract interface for all database adapters, including methods for running statements, quoting, parameter binding, listing tables/schemas, and cancelling queries. Each of the 20+ concrete adapters (e.g., SqlAdapter, PrestoAdapter, ClickhouseAdapter) implements this interface. The pattern is clean and could be extracted to support any multi-database Ruby application with minimal adaptation.

file: lib/blazer/adapters/base_adapter.rb ↗ | tags: #adapter-pattern #database-connector

Handles parsing and binding of user-defined variables in SQL statements. Supports smart variables (dropdowns from SQL or static lists), linked columns, smart columns, default values, and transformation lambdas. The module is self-contained and can be reused independently in any application that needs secure, dynamic SQL construction.

file: lib/blazer/statement.rb ↗ | tags: #template-engine #variable-substitution

Implements a statement-based caching mechanism using SHA-256 hashing of the SQL, variables, and data source. Supports configurable expiry and optional run-based key uniqueness. The class is isolated and could be extracted for caching any expensive computation in a Ruby app.

file: lib/blazer/result_cache.rb ↗ | tags: #caching #sha256

Provides a registration system for different check alert types (e.g., bad data, missing data, anomaly detection). Uses a simple registry hash and allows external gems to add custom check types. This pattern is reusable for any plugin-based extensibility system in Ruby.

file: lib/blazer/check_types.rb ↗ | tags: #registry-pattern #extensibility
Last analyzed: 2026-10-18 00:25:14.916719
Next check: 2026-10-25 00:25:14.903294
$ submit: