Bookmarked, I think this is a really good idea and could lead to some really small, elegant TUI code.
But as a first release, I'm wondering if it maybe misses what Ruby really enables. The Hello World example has both init and initialize methods? message.to_s == "q"? @style.render?
I remember reading Eloquent Ruby and having my mind completely blown with the clarity and expressiveness that Ruby's metaprogramming enabled. It remains, in my opinion, one of the best programming books of all time for just how mind expanding it was and how it really made the case for Ruby and why there is no other language like Ruby.
I highly recommend that the authors go pick up a copy and then think about how it would influence their API design, I think there's a much more... eloquent approach feasible here, and it would be a pretty incredible way to build small/simple TUI apps.
And yeah, I agree. I'm not super happy with some of the APIs as they aren't really idiomatic Ruby. It's also something I mentioned in the blog post that I want to improve: https://marcoroth.dev/posts/glamorous-christmas
For now, I just wanted to get them out so we as a community can build them out together. Most of the APIs are just 1:1 "ports" of their Go counterparts and might feel off or a bit too low level because of that.
But as a first release, I'm wondering if it maybe misses what Ruby really enables. The Hello World example has both init and initialize methods? message.to_s == "q"? @style.render?
I remember reading Eloquent Ruby and having my mind completely blown with the clarity and expressiveness that Ruby's metaprogramming enabled. It remains, in my opinion, one of the best programming books of all time for just how mind expanding it was and how it really made the case for Ruby and why there is no other language like Ruby.
I highly recommend that the authors go pick up a copy and then think about how it would influence their API design, I think there's a much more... eloquent approach feasible here, and it would be a pretty incredible way to build small/simple TUI apps.