tl;dr: no My Personal & Professional AI Policy I will not use generative AI (ie, LLMs or any other similarly related technology, hereby simply referred to as “AI”) to produce any output including code, design, and correspondence. Period. Due to copyright and licensing infringement, and the non-copyrightable status of AI generated content, I will not accept AI generated content in any…
Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, deployment, and announcement. See class rdoc for help. Hint: ri Hoe or any of the plugins listed below. For extra…
autotest is a continous testing facility meant to be used during development. As soon as you save a file, autotest will run the corresponding dependent tests. minitest-autotest is the latest incarnation of the venerable and wise autotest. This time, it talks to minitest via minitest-server. As a result, there is no output parsing. There are no regexps to tweak. There’s no cruft or overhead.…
Isolate is a very simple RubyGems sandbox. It provides a way to express and automatically install your project’s Gem dependencies. To Install: Changes: 4.1.1 / 2026-05-11 1 minor enhancement: Bumped rubygems version to 3.7+. 2 bug fixes: Remove mkdir for GEM_HOME. Don’t make it if we don’t need it. Rubygems can do it. Removed old rubygems monkeypatch that is gone in 4. home:…
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked…
Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, deployment, and announcement. See class rdoc for help. Hint: ri Hoe or any of the plugins listed below. For extra…
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked…
Analyze code for potentially uncalled / dead methods, now with auto-removal. Features/Problems: Static analysis of code. Can be easily hooked up to a CI. As with all static analysis tools of dynamic languages, can’t be 100%. Whitelisting known good methods by name or regexp. Use --rails for Rails-specific domain knowledge. Use debride_rm to brazenly remove all unused methods. BE CAREFUL. Use…
Ruby QuickRef Table of Contents Table of Contents Language General Tips General Syntax Rules Reserved Words Types Numbers Strings Symbols Ranges Regexen Arrays Hashes Files Variables Pseudo variables Pre-defined variables require “English” Pre-defined global constants Expressions Operators and Precedence Control Expressions Invoking a Method Defining a Class Defining a Module Defining…
For when the reality of your tests is just too much to bear, turn your failures into fake news and errors into alt-facts, or golf. Features/Problems: Turns failures into Fake News. Turns errors into Alt-Facts. Turns skips into Golf. May alter your perception of reality, and not for the better. Changes: 3.0.3 / 2026-04-14 1 bug fix: Loosened the minitest dependency to include MT6. home:…
Zenweb is a set of classes/tools for organizing and formating a website. It is website oriented rather than webpage oriented, unlike most rendering tools. It is content oriented, rather than style oriented, unlike most rendering tools. It uses a rubygems plugin system to provide a very flexible, and powerful system. Zenweb 3 was inspired by jekyll. The filesystem layout is similar to…
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked…
Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad. Features/Problems: Reports differences at any level of code. Adds a score multiplier to identical nodes. Differences in literal values, variable, class, and method names are ignored. Differences…
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked…
Inline allows you to write foreign code within your ruby code. It automatically determines if the code in question has changed and builds it only when necessary. The extensions are then automatically loaded into the class/module that defines it. You can even write extra builders that will allow you to write inlined code in any language. Use Inline::C as a template and look at Module#inline for the…
Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad. Features/Problems: Reports differences at any level of code. Adds a score multiplier to identical nodes. Differences in literal values, variable, class, and method names are ignored. Differences…
WorkerBee encapsulates a simple pipeline of workers. Features/Problems: Simple API to wrap up the usual Thread/Queue patterns. Expressive shortcuts to make the pipeline really easy to read. Changes: 1.0.1 / 2026-03-20 1 bug fix: Bumped ruby to 3.2+. home: http://seattlerb.org/
Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, deployment, and announcement. See class rdoc for help. Hint: ri Hoe or any of the plugins listed below. For extra…
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking. "I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines and I were paired up and we cracked open the code for a few test frameworks... I MUST say that minitest is *very* readable / understandable compared to the 'other two' options we looked…
This is a post I wrote while I was at zendesk that I thought would be good to share with the world. This is a conversation that I had to have over and over and over again while reviewing PRs that were switched from draft to non-draft, which is why I eventually wrote this up: PRs, Commits, and Code Reviews Developers, Reviewers, lend me your ears! When you’re authoring or reviewing a PR, please…
Send requests to rubygems’ API and print the output. You can also query the output with jq (assuming json output) for that endpoint. Features/Problems: Prints results from rubygems API. Can use jq queries to filter and format results. Currently only handles GET endpoints. See -h for a full list. Uses ~/.gem/credentials for a higher query rate. Changes: 1.0.0 / 2026-02-10 1 major enhancement…
Inline allows you to write foreign code within your ruby code. It automatically determines if the code in question has changed and builds it only when necessary. The extensions are then automatically loaded into the class/module that defines it. You can even write extra builders that will allow you to write inlined code in any language. Use Inline::C as a template and look at Module#inline for the…
Zenweb is a set of classes/tools for organizing and formating a website. It is website oriented rather than webpage oriented, unlike most rendering tools. It is content oriented, rather than style oriented, unlike most rendering tools. It uses a rubygems plugin system to provide a very flexible, and powerful system. Zenweb 3 was inspired by jekyll. The filesystem layout is similar to…
Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, deployment, and announcement. See class rdoc for help. Hint: ri Hoe or any of the plugins listed below. For extra…
ruby2ruby provides a means of generating pure ruby code easily from RubyParser compatible Sexps. This makes making dynamic language processors in ruby easier than ever! Changes: 2.6.1 / 2026-01-26 1 bug fix: Fixed handling of defined? in certain contexts. (triskweline) home: https://github.com/seattlerb/ruby2ruby rdoc: http://docs.seattlerb.org/ruby2ruby
minitest-server provides a client/server setup with your minitest process, allowing your test run to send its results directly to a handler. Changes: 1.0.10 / 2026-01-21 2 bug fixes: MT6: load server_plugin if server is loaded. TIGHTENED the minitest dependency to EXCLUDE MT6. home: https://github.com/seattlerb/minitest-server rdoc: http://docs.seattlerb.org/minitest-server
Ruby’s contemporary test coverage tools all lie, exaggerating coverage through false-positives and creating a false sense of security; minitest-coverage tries to address this. Coverage Analysis Tools rely on tracing facilities built into ruby’s VM. You run your tests, and collect data. Seems simple, but that’s a very flawed approach that buffers your coverage numbers up falsely. I’ve…
minitest-bacon extends minitest with bacon-like functionality. It should allow you to bridge 90+% of your bacon specs over to minitest. Changes: 1.0.6 / 2026-01-12 1 bug fix: Fixed incompatibility with minitest 6 (no more global expectations). home: https://github.com/seattlerb/minitest-bacon rdoc: http://docs.seattlerb.org/minitest-bacon