RubyFlow The Ruby and Rails community linklog

×

The Ruby and Rails community linklog

Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!

Submit a post

You can use basic HTML markup (e.g. <a>) or Markdown.
Note that your post may be edited to suit the format of the site.

As you are not logged in, you will be
directed via GitHub to signup or sign in

Post Preview

Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.

ethers gem - Rails-Like All-In-One Umbrella For Ethereum & Co.

Hello, to make it easier to get started with blockchain (contract) programming in ruby - and inspired by the rails gem - I put together the ethers gem - a “high-level” all-in-one umbrella quick starter gem for easy installation & usage for ethereum & co. (blockchain) contract services that for now bundles crypto-lite, etherlite, etherlite-contracts, ethname, etherscan-lite, abidoc, abigen, & some more gems. The ethers name is inspired by ethers.js (or ethers.rs) and let’s you use ‘require ‘ethers’ in rubyland or ‘gem install ethers’ to get started. Anyways, it’s the early days in crypto winter 2022/23. Happy blockchain (contract) programming with ruby. Questions and comments welcome. Cheers. Prost.

abigen gem - Application Binary Interface (ABI) Contract Generator for Ruby

Hello, in the ongoing crypto winter ethereum & co. programming series I put together some more gems. The new abigen gem lets you generate ready-to-use (blockchain) contract services / function calls for ethereum & co. via application binary inferfaces (abis). Bonus: Via the new natspec gem you can even “auto-include” nat(ural) spec(ification) comments / documentation in the generated ruby code. See the pre-packaged auto-generated ruby classes in the ethlite-contracts gem, for some first real-world samples.

Glimmer DSL for LibUI Table Lazy Loading

Glimmer DSL for LibUI 0.6.1 has been released with support for table lazy loading via Enumerator (or Enumerator::Lazy). As a result, the table control can now handle millions of rows and renders instantly without waiting for all data to be loaded given that it is loaded lazily as the user scrolls through the table. That enables applications with a lot of data to start instantly. A new example, Lazy Table, has been included to demonstrate table lazy loading. https://andymaleh.blogspot.com/2023/01/glimmer-dsl-for-libui-table-lazy-loading.html

What's new in Ruby 3.2

Ruby 3.2 was released on Christmas day, and I’ve been playing around with its new features. The highlights this year are the performance gains from YJIT, WebAssembly support, faster regular expressions, and a new way to define immutable value objects, [more inside]

hexutils gem - Hex Encode / Decode Helpers; From Hex String to Bin(ary) String & Back

Hello, a new addition in the ongoing If I Were ~~King~~ Matz (aka Yukihiro Matsumoto) - Ideas For Ruby 4.0 - What’s Broken & Missing in Ruby 3.x and How To Fix It series I published a first version of the hexutils gem that adds the missing hex(adecimal) encode / decode helpers to String, NilClass, Kernel & Co. that get you from hex(adecimal) string to bin(ary) string and back. Happy wrangling with bits & bytes in ruby. Cheers. Prost. As always questions and comments welcome.

Using Nebula TextAssist from Glimmer DSL for SWT

Recently, I received a support request concerning Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) and the use of Nebula Custom Widgets, specifically the text_assist widget (auto-complete text field). For a quick background about Nebula, it is a collection of 55+ enterprise-grade high-quality SWT (Standard Widget Toolkit) custom widgets, including a progress circle, a password revealer, and an oscilloscope. Thanks to Glimmer DSL for SWT, they are usable from Ruby. https://andymaleh.blogspot.com/2023/01/using-nebula-textassist-from-glimmer.html

Monkey Patch Responsibly

Learn how to deploy Monkey Patches in Rails Applications, or as Rubygems, that don’t blow up your production environment because you forgot to take them out when a final patch was released. [more inside]

Loading older posts