Ruby on Rails | rubyclub
1.52K subscribers
214 photos
1 video
264 links
Software Writer @yegorckv
Download Telegram
The Rails (Edge) Guides got a new facelift today! Read about it on the blog: https://rubyonrails.org/2024/3/20/rails-guides-get-a-facelift
πŸ“Ί TRAILBLAZER TALES #00 | What is business logic?

Learn about the Trailblazer framework by refactoring a chunky Rails controller action to an operation. This episode discusses what we understand is business logic and shows how to setup a basic operation with its file structure and test.

All the videos about Trailblazer.
Please open Telegram to view this post
VIEW IN TELEGRAM
Use this commands for new Rails app:

"rails new myapp --main -d=postgresql -c=tailwind -a=propshaft"

"--main" ensures that I have all the goodies that are not available with Rails 7, and will only be released with Rails 8 (presumably around RailsWorld 2024 in September)

New features:

βœ… Built-in PWA (Progressive Web App) support
βœ… Default Github CI config
βœ… Propshaft - lightweight version of sprockets
βœ… Brakeman - security scanner
βœ… Rubocop code linter

You can learn more about all the "rails new" options by typing "rails new --help" in your terminal.
πŸ“Ί SupeRails #163 Instant page loads with Turbo 8 prefetch (aka InstantClick)

Turbo 8 has been released! One of the core new features hover-click preload acceleration (aka InstantClick).

InstantClick makes an assumption about potential user behaviour: now whenever you hover on a link, it will fire a GET request to retrieve that page. So when you actually click on the link, it will load faster.
Please open Telegram to view this post
VIEW IN TELEGRAM
Save Time with Custom Rails Generators

Learn to create time-saving reliable custom generators quickly and efficiently.

It's time to quit the copy-paste-search-replace dance.
Duplicate an existing file. Then duplicate the corresponding test file. Open them in your editor. Search and replace throughout both files. Manually update or delete a few more things.

Run the tests. Track down spots the search and replace didn't catch. Fix those issues, and run the tests again. Then you can get back to the real work.
That's no way to do things, and yet, we've all done it far too often.

You already apply and re-use basic patterns on a regular basis. You're just doing it the hard wayβ€”either because you didn't know or because you believed custom generators required more effort than they're worth.
πŸ’» Two #ActionView guides have just been edited, and are now open for community review. If you are well versed in partials and helpers, please review and submit your feedback here:

▢️ Action View Overview PR: https://github.com/rails/rails/pull/51435
▢️ Action View Helpers PR: https://github.com/rails/rails/pull/51432
Please open Telegram to view this post
VIEW IN TELEGRAM
HotwireCombobox: A Turbo + Stimulus Autocompleting Combobox β€” Simple, sweet, and well explained on the homepage, complete with live demo. Designed for modern Rails 7 apps. GitHub demo.
πŸ’» Retry known idempotent SELECT queries, New Active Record configuration option, and more.

Two new guides are now open for community review. If you are well versed in Action View, partials, and helpers, please review and submit your feedback here:

Action View Overview PR
Action View Helpers PR

Add config.active_record.permanent_connection_checkout setting This setting determines the action taken when ActiveRecord::Base.connection is accessed: whether it raises an error, emits a deprecation warning, or does nothing.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» Seven deadly Rails anti-patterns

Developing web applications with Ruby on Rails is known to be hellishly productive. What’s the price of this deal? Let’s talk about design patterns leveraged by the framework responsible for increased productivity and at the same time often acclaimed for being anti-patterns.
Please open Telegram to view this post
VIEW IN TELEGRAM
RAILS PRO TIPS

Did you know Rails provides the --unused option to print unused routes?
πŸ’» Micro benchmarking value objects in Ruby: Data.define vs Struct vs OpenStruct

A comparison of Data.define, Struct, OpenStruct – all ways to conveniently define data objects.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”Œ AnyCable v1.5: signed streams, whispering, and more

Release Notes:

Signed streams and public streams. One secret to rule them all. Public mode.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» Threads, callbacks, and execution context in Ruby

❀ Read slides from at
RUBYCONF AU
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» RAILS PRO TIPS

Rails 7.1 has finally introduced enum validation
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‡ πŸ‡Handling Exceptions in Grape for Ruby

Grape is a popular Ruby framework for building RESTful APIs. Exception handling plays a crucial role in ensuring the stability and reliability of any application, including those made with Grape.

This article will explore the basics of Grape exception handling, including customizing exceptions. We'll also touch on some best practices, and how to integrate your app with AppSignal for enhanced error monitoring and management.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» DHH about Rails 8

Rails 8 is going to be such a leap forward in production deployment ease. Kamal 2 will get auto-configuring SSL via Let's Encrypt + multi apps on a single host. Thruster will give Puma HTTP/2, X-Sendfile, and asset caching. Both will be included by default.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’»Hotwire Weekly: Week 16 - Turbo Overview Guide, Turbo Native pull-to-refresh, and more

This edition of Hotwire Weekly covers the latest articles, tutorials, videos, libraries, tools, and releases in the Hotwire ecosystem.

Happy reading! πŸš€βœ¨
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» Episode #1 – Basecamp's Kamal code walkthrough

In this episode, I explore Basecamp's Kamal codebase. Since this is the first video on the channel, I try to explain why I decided to start it, what motivates me, and what I plan to record in the future.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» rails console

Make your instance variables, methods, and aliases instantly accessible in the Rails Console
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ’» Episode #2 – Maybe, open-source personal finance Rails app

In this episode, explore the Maybe finance codebase. The original version of Maybe was written in React and then open-sourced. In February 2024, Josh Pigford started to rewrite it in Rails. What is done within two months, what can be improved, what tools and libraries are used – all these in this video.
Please open Telegram to view this post
VIEW IN TELEGRAM