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
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Everything You Ever Wanted To Know About View Caching In Rails
If you’ve ever built a UI in Rails, you’ve probably noticed that views tend to get slower over time. That’s because adding features to a UI often means adding DB queries to the view. They add up. Fortunately, Rails provides us with an easy-to-apply band-aid in the form of view caching. In this article, Jonathan Miles introduces us to view caching, discusses when it’s appropriate to use, and covers common pitfalls to watch out for. https://www.honeybadger.io/blog/ruby-rails-view-caching/
hubba (github analytics) gem update - adds traffic (page views / referrers) reports
Hello, I have updated the hubba gem - a little github api helper for (auto-)generating statistics reports. New traffic reports include page views and clones, top/popular referrers, top/popular pages plus a catalog page with description and topics. For live (real-world) examples, see TRAFFIC.md, PAGES.md, REFERRERS.md, CATALOG.md. Cheers. Prost. PS: Note - the traffic reports require push access for data gathering for your github (personal) access token.
Glimmer DSL for Opal v0.3.0 Custom Shell Support
Glimmer DSL for Opal v0.3.0 is out with Custom Widget and Custom Shell support, allowing developers to webify their pure Ruby desktop apps with Opal on Rails without changing a line of code. New custom shell support enables launching windows (opening browser tabs) from a GUI just like opening windows in a desktop app. Routing is handled automatically so that developers can keep focusing on business GUI details. https://andymaleh.blogspot.com/2020/10/glimmer-dsl-for-opal-v030-custom-shell.html
🔥 FriendlyId and Kaminari in Rails application
This is part 7 in the project: Build Blog with Ruby on Rails [more inside]
Glimmer DSL for XML (& HTML) v1.1.0
Glimmer DSL for XML (& HTML) v1.1.0 has been released with improvements to its XML/HTML Ruby DSL, like automatically including the HTML doctype when it is a full document and automatically not surrounding content with <html></html> when it is partial content not including head/body. https://andymaleh.blogspot.com/2020/10/glimmer-dsl-for-xml-v110.html
Scope gates in Ruby: Flat Scope ⛩️ ✨ 🧙♂️
An overview of the execution context of blocks => https://medium.com/rubycademy/scope-gates-in-ruby-flat-scopes-bbf100f8e459
Extract I18n automatically from Ruby, SLIM, ERB, Vue-pug
CLI helper program to automatically extract bare text strings from your app into Rails I18n yml interactively. [more inside]
hubba gem - little github api helper for (auto-)generating statistics reports
Hello, I have updated the hubba gem - a little github api helper for (auto-)generating statistics reports (summary, stars, timeline, updates). Cheers. Prost.
Productivity Tools that every web developer should aware of
Do you want to increase your productivity? My article on “Productivity Tools that every web developer should aware of” can help you. Read it here: https://link.medium.com/riUmU3TGrab
What makes Ruby on Rails the best Web Development Framework
Ruby on Rails web development framework is still going strong. Read this blog to know what makes Ruby on Rails for web development so relevant for businesses in 2020. https://www.botreetechnologies.com/blog/ruby-on-rails-web-development-framework
Polyphony has a new io_uring backend!
I am pleased to announce the release of Polyphony version 0.46.0, which includes a full-blown io_uring backend. The io_uring backend uses a relatively recent new I/O API in Linux that is the future of I/O processing. The new backend provides more than double the performance of the libev backend, achieving over 120K requests/second using a basic “Hello world” HTTP server. [more inside]
How's the Performance of Ruby 3.0.0-preview1?
How does the new preview’s performance stack up on Rails? And how reliable are these numbers? [more inside]
Some things you should know about eager loading in ActiveRecord
Discover an automated way of dealing with N+1 queries, how to go around some of the limitations of eager loading in ActiveRecord and how to write tests to prevent those sneaky N+1 queries from coming back: https://lipanski.com/posts/activerecord-eager-loading
Scoped Associations in Rails
I’ve never thought that ActiveRecord associations could be used as scopes until last week. I couldn’t find a step-by-step explanation, so I did a quick write up about how one can scope associations in Rails. [more inside]
Test-Commit-Revert: A Useful Workflow for Testing Legacy Code in Ruby
When you inherit a legacy app with no tests, your first step should be to add them. But that can be a huge task! How do you even start? In this article, José will introduce us to a testing workflow called test-commit-revert (TCR) that is particularly useful for adding tests to legacy systems. He’ll show us practical examples and help us set up our tooling for minimal friction. https://www.honeybadger.io/blog/ruby-tcr-test-commit-revert/
Testing Tables in ActionText Using System Test
So you’ve built a fascinating, interactive addition to your ActionText page. How do you test that interactivity? You can use System Test, a feature built into Rails to run apps and test them in a web browser. This tutorial explains how you can test you Stimulus.js controllers: https://onrails.blog/2020/10/05/testing-tables-in-actiontext-using-system-test/
Rails 6 and Stimulus.js - a quick and painless launch
Do you want to play with HTML and make your Rails app interactive but you are not interested in using React or Vue? Try out Stimulus.js from Basecamp! https://longliveruby.com/articles/rails-6-stimulus-js
Setup your server with Alpine Linux in diskless mode
I have been used to have a server running under my desk for years now. It serves “Nextcloud” for internal data sharing and “GitLab CE” for hosting my internal “git” repositories. This article (https://www.fedux.org/articles/2020/10/05/setup-alpine-linux-diskless.html) describes my search to get a new one up and running with “Alpine Linux” in “diskless mode”.
[Screencast] Benchmark Ruby Code
It’s easy to accidentally write slow code in our applications. In this episode, we look at how we can benchmark our code and examples of some methods which are slower than others. https://www.driftingruby.com/episodes/benchmark-ruby-code