Skip to content
CAI
Software that uses CAICheck a score

whomwah/rqrcode

68.2

Adequate · 19 September 2026

815

lines of production code

Ruby

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

RQRCode is a Ruby gem that generates QR codes and exports them into multiple formats, including SVG, PNG, HTML, and ANSI terminal strings. It provides a modular API for rendering QR data with customizable styling options and includes a benchmark suite to track performance across different export methods. The library supports interactive experimentation via an IRB console and enforces consistent code quality through standard linting and RSpec testing.

Features

Add ANSI, HTML, and PNG export formats alongside SVG improvements

Users can now export QR codes as ANSI terminal strings (as\_ansi), HTML tables (as\_html), and PNG images (as\_png) in addition to the existing SVG support. The new ANSI exporter allows customization of foreground/background colors and fill characters for terminal display. The HTML exporter generates a table-based representation using CSS classes. The PNG exporter leverages ChunkyPNG, supporting options for module size, border, color, and file output constraints. SVG export has also been enhanced with path-based rendering, offset positioning, and shape-rendering options.

lib/rqrcode/export · high confidence

Added Ruby IRB console for interactive experimentation

A new executable script at bin/console has been added to the project. This script sets up the Bundler environment, loads the rqrcode library, and launches an IRB session, allowing users to interactively experiment with the gem's functionality.

bin · high confidence

Initial library entry point and dependency loading

The library now exposes a main entry point at lib/rqrcode.rb that defines the RQRCode module. This file loads the core QR code generation logic (rqrcode\_core), the specific QR code implementation (rqrcode/qrcode), the export functionality (rqrcode/export), and the version information (rqrcode/version), establishing the foundational structure for the library's public API.

lib · high confidence

Initial project scaffolding and development environment setup

This change establishes the foundational structure for the RQRCode project, introducing essential configuration files including \.gitignore\ to exclude build artifacts and IDE files, \.rspec\ for test runner defaults, and \.standard.yml\ to enforce the Standard Ruby code style. It also adds \AGENTS.md\ as a development guide for AI agents, a \Rakefile\ with tasks for running specs and benchmarks, and initial documentation files like \README.md\, \CHANGELOG.md\, and \LICENSE.txt\. This sets the stage for consistent development practices and clear usage instructions for version 3.2.0.

(repo-wide) · high confidence

Behavioural changes

Backward compatibility shim for QRCode\#modules

The QRCode class now delegates the \modules\ method to the underlying core library, restoring access to this previously removed interface to prevent breakages in existing code that relies on it.

lib/rqrcode/qrcode · high confidence

RQRCode version 3.2.0 release

This update releases version 3.2.0 of the RQRCode library. The change introduces a new modular export structure, adding dedicated files for ANSI, HTML, PNG, and SVG output formats, and reorganizes the core QR code logic into its own namespace. Users upgrading to this version will benefit from a cleaner library structure and explicit support for these specific export types.

lib/rqrcode · high confidence

Test coverage

Added RSpec test suite configuration; Added benchmark suite for QR code generation and export performance; Added test coverage for QR code export formats.

Dependencies

Update dependencies and require Ruby 3.2+

The gem now requires Ruby 3.2 or higher and updates its core dependency to rqrcode\_core (\~\> 2.0) while pinning chunky\_png to the 1.x series. Development tooling has also been upgraded, including bundler (\~\> 4.0), rspec (\~\> 3.5), and the standard linter (\~\> 1.41).

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 68.

Lenses

  • Code Health 92
  • Architecture 69
  • Maturity 61
  • Readiness 69
  • Security 99

Changes since last survey

  • 300 commits — 273 feature/other, 27 fixes

By area

  • (root) — 123 commits
  • (repo) — 73 commits
  • lib/rqrcode — 71 commits
  • .github/workflows — 9 commits
  • spec/rqrcode — 8 commits
  • test/test_rqrcode.rb — 5 commits
  • benchmark/README.md — 3 commits
  • .github/FUNDING.yml — 2 commits
  • lib/rqrcode.rb — 2 commits
  • test/rqrcode — 2 commits
  • test/data.rb — 1 commit
  • test/test_regresions.rb — 1 commit

Notable commits

  • fix: Added basic regression test for as_ansi
  • fix: Adding rspec and coverage for ChunkyPNG constrainsts fixes #38
  • fix: Bump for 1.0.1 bugfix. Thanks @rezigned
  • fix: Documentation fixes for 0.8 release.
  • fix: Fix encoding of UTF-8 strings
  • fix: Fix my previous commit!
  • fix: Fix order of assertions: assert_equal(expected, actual)
  • fix: Fix output_file arg for .as_png in readme
  • fix: Fix rqrcode doesn't pass options to core lib
  • fix: Fixed so that we have a version on the chunky_png dependency.
  • fix: Fixed wrong attr reader
  • fix: Fixes test execution. In all previous travis builds only a fraction of tests was executed.
  • fix: Fixes test execution. In all previous travis builds only a fraction of tests was executed.
  • fix: Merge branch 'bug-fix-branch'
  • fix: Merge pull request #127 from Jonakemon/feature/inline-style-to-fill-attribute-to-fix-strict-csp
  • fix: Merge pull request #36 from fabn/fix-tables
  • fix: Merge pull request #74 from rezigned/fix-qrcode-options
  • fix: Merge pull request #87 from whomwah/fix-rspec
  • fix: New bug fix release
  • fix: README fix
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

whomwah/rqrcode was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 4359b4192d1845691246a0d155d864d2569122b6 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.