Categories: None [Edit]

rooibos

https://rubygems.org/gems/rooibos
https://github.com/setdef/Rooibos
== Confidently Build Terminal Apps Rooibos[https://rooibos.run] helps you build interactive terminal applications. Keep your code understandable and testable as it scales. Rooibos handles keyboard, mouse, and async work so you can focus on behavior and user experience. gem install rooibos Currently in beta. APIs may change before 1.0. === Get Started in Seconds rooibos new my_app cd my_app rooibos run That's it. You have a working app with keyboard navigation, mouse support, and clickable buttons. Open lib/my_app.rb to make it your own. --- === The Pattern \Rooibos uses Model-View-Update, the architecture behind Elm[https://guide.elm-lang.org/architecture/], Redux[https://redux.js.org/], and {Bubble Tea}[https://github.com/charmbracelet/bubbletea]. State lives in one place. Updates flow in one direction. The runtime handles rendering and runs background work for you. --- === Hello, MVU The simplest \Rooibos app. Press any key to increment the counter. Press Ctrl+C to quit. require "rooibos" module Counter # Init: How do you create the initial model? Init = -> { 0 } # View: What does the user see? View = -> (model, tui) { tui.paragraph(text: <<~END) } Current count: #{model}. Press any key to increment. Press Ctrl+C to quit. END # Update: What happens when things change? Update = -> (message, model) { if message.ctrl_c? Rooibos::Command.exit elsif message.key? model + 1 end } end Rooibos.run(Counter) That's the whole pattern: Model holds state, Init creates it, View renders it, and Update changes it. The runtime handles everything else. --- === Your First Real Application A file browser in sixty lines. It opens files, navigates directories, handles errors, styles directories and hidden files differently, and supports vim-style keyboard shortcuts. If you can do this much with this little code, imagine how easy _your_ app will be to build. require "rooibos"...

Total

Ranking: 162,315 of 196,612
Downloads: 3,487

Daily

Ranking: 28,160 of 196,584
Downloads: 2

Depended by

RankDownloadsName

Depends on

RankDownloadsName
101,361,277,653concurrent-ruby
152341,653,019rdoc
153340,548,097faker
344152,479,959ostruct
445121,951,330debug
2,24411,152,927concurrent-ruby-edge
2,8986,458,000steep
5,1361,559,486minitest-mock
26,74757,024ratatui_ruby

Owners

#GravatarHandle
1iconKerrick