Rooibos v0.7.0 released

I am pleased to announce rooibos v0.7.0.

Rooibos is a framework for building terminal applications in Ruby. It handles keyboard input, mouse events, and async work so that you can focus on behavior and testing.

Rooibos uses Model-View-Update, the architecture behind Elm, Redux, and Bubble Tea. State lives in one place. Updates flow in one direction. The runtime handles rendering and runs background work for you.

If you haven’t tried it yet:

gem install rooibos
rooibos new my_app
cd my_app
rooibos run

That gives you a working app with keyboard navigation, mouse support, and clickable buttons. Open lib/my_app.rb to start building.

What is new in 0.7

Version 0.7 makes message routing declarative. Key bindings, mouse handling, and fragment-to-fragment communication all go through the Router DSL, and the Router generates your Update function. You never need to write another case statement or pattern match to dispatch messages to inner fragments. If you are feeling adventurous, you could generate every Update using the Router.

This is a breaking change that replaces the +keymap+ and +mousemap+ verbs. The Message Routing guide covers the new DSL, and the CHANGELOG has before/after migration examples.

Full changelog:

Links:

Installation:

gem install rooibos

Gem: rooibos | RubyGems.org | your community gem host
Source: GitHub - setdef/Rooibos: ☕ The Elm Architecture for RatatuiRuby 💎 👨‍🍳🐀.
Website: https://www.rooibos.run

Community: https://forum.setdef.com