Add SMO-Flow Ruby gem to 07 Ruby Exchange Gems - #48
Conversation
SMO-Flow is a Ruby gem for stormwater management and hydrological calculations using the Rational Method. It provides tools for computing peak runoff flow rates for civil engineering and urban drainage design. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Removed index.html, hero.png, and qr-coffee.png as they are landing page assets and not part of the SMO-Flow gem source code.
Moves repeated "Depth must be positive" and "Timestep must be positive" error messages into constants to satisfy SonarQube quality gate.
dfmore
left a comment
There was a problem hiding this comment.
Thanks for the contribution, @Sebasmadridmx — the gem looks great. Pure Ruby ✅, MIT ✅, clean RSpec coverage, idiomatic Ruby, and a focused Rational Method implementation. I also did a manual security pass on the source: no eval, no shell execution, no deserialization, no file/network I/O, zero runtime dependencies, comprehensive input validation, and the unit conversions in the formulas all check out.
One small thing before I can merge:
LICENSE.txt has the Bundler scaffold placeholder:
Copyright (c) 2026 TODO: Write your name
This is the default text bundle gem writes — it just needs your name in place of TODO: Write your name so the MIT grant has a real copyright holder. Once you push that fix, I'll merge.
A couple of notes (no action needed from you):
- SonarCloud "1 Security Hotspot": orphaned. It flagged a missing
integrityattribute on a Google Fonts<link>inindex.html, but you already removed that file in commit 2. The gate staysUNSTABLEbecause Sonar evaluates the cumulative PR delta. I'll dismiss it on merge. - Catalog row: I'll add SMO-Flow to the catalog table in
07 Ruby Exchange Gems/README.mdas part of the merge — the contributing guide asks contributors to do this, but I'd rather not push that maintenance task onto first-time contributors.
Thanks again — nice clean first gem for the catalog 🙌
|
@dfmore Thanks Dan, I have updated the License with my name |
|


Summary
07 Ruby Exchange Gems/SMO-Flowfollowing the repository's folder structureAbout SMO-Flow
SMO-Flow provides tools for computing peak runoff flow rates (Q = C·i·A) for civil engineering and urban drainage design.
Developed by Sebastian Madrid Ontiveros.
Contents
lib/— Core library (Rational Method calculations, error handling)spec/— RSpec test suiteREADME.md— Usage documentationCHANGELOG.md,LICENSE.txt,CODE_OF_CONDUCT.md