Linters Implemented by Ruby Libraries
When you hear the word “linter,” you probably think about particular widely used tools. But there’s a different kind of linters.
In this article, Toptal Back-end Architect Robert Pankowecki introduces you to linters implemented by Ruby libraries and details their capabilities.
Robert Pankowecki
Choosing a Tech Stack Alternative - The Ups and Downs
If a web application is big and old enough, there may come a time when you need to break it down into smaller, isolated parts and extract services from it. Some of these will be more independent than others.
In this post, Toptal Full-stack Developer Viktar Basharymau explains how his team extracted an app from the monolithic Rails application that powers Toptal, and how the new service’s technical stack was selected.
Viktar Basharymau
An Array of Possibilities: A Guide to Ruby Pattern Matching
Pattern matching is a powerful tool commonly found in functional programming languages. The Ruby 2.7 release is going to include this feature.
In this article, Toptal Ruby Developer Noppakun Wongsrinoppakun provides a breakdown of what this addition will include and why it matters.
Noppakun Wongsrinoppakun
Ruby Algorithm Documentation with AsciiDoc and Knitr
A functional specification is a high-level design document created before implementation and serves as a true plan for the team.
In this article, Toptal Freelance Ruby Developer Alec Ten Harmsel walks us through prototyping an algorithm and creating a functional specification with the help of AsciiDoc and R for a Ruby on Rails project.
Alec Ten Harmsel
Option/Maybe, Either, and Future Monads in JavaScript, Python, Ruby, Swift, and Scala
If you’re searching for the holy grail of bug-free code in JavaScript, Python, Ruby, Swift, and/or Scala, look no further! This monad tutorial by Toptal Freelance Functional Programmer Alexey Karasev takes you from category theory to the practical implementations of the Option/Maybe, Either, and Future monads, plus a sample program—in all five languages.
Alexey Karasev
Rails Service Objects: A Comprehensive Guide
Rails ships with everything you need to prototype your application quickly, but when your codebase starts growing, you’ll run into scenarios where the conventional Fat Model, Skinny Controller mantra breaks. When your business logic can’t fit in either a model or a controller, that’s when service objects come in and let us separate every business action into its own Ruby object.
Amin Shah Gilani
Field-level Rails Cache Invalidation: A DSL Solution
Fragment caching in Rails provides an easy yet a powerful way of improving your application’s performance. However, some real-world scenarios do not work quite well with how the Rails cache behaves by default.
In this article, Toptal Ruby on Rails Developer Orban Botond shows how you can implement a small DSL to optimize how the cache for related entities is invalidated to improve template rendering performance.
Botond Orban
Creating a Ruby DSL: A Guide to Advanced Metaprogramming
Write better Ruby code by leveraging its metaprogramming features. In this article, you will learn how to create your own Ruby domain specific language (DSL).
Máté Solymosi
Build Sleek Rails Components With Plain Old Ruby Objects
Your website is gaining traction, and you are growing rapidly. Ruby/Rails is your programming language of choice. Your team is bigger and you’ve given up on “fat models, skinny controllers” as a design style for your Rails apps. However, you still don’t want to abandon using Rails? No problem.
In this article, Toptal Software Engineer Eqbal Quran explains how you can decouple and isolate your Rails components using nothing Plain Old Ruby Objects. Ruby objects and abstractions can decouple concerns, simplify testing, and help you produce clean, maintainable code.
Eqbal Quran
World-class articles, delivered weekly.
Toptal Developers
- Adobe Commerce (Magento) Developers
- Algorithm Developers
- Angular Developers
- AWS Developers
- Azure Developers
- Big Data Architects
- Blockchain Developers
- Business Intelligence Developers
- C Developers
- Computer Vision Developers
- Django Developers
- Docker Developers
- Elixir Developers
- GraphQL Developers
- Jenkins Developers
- Kotlin Developers
- Kubernetes Developers
- Machine Learning Engineers
- .NET Developers
- R Developers
- React Native Developers
- Ruby on Rails Developers
- Salesforce Developers
- SQL Developers
- Sys Admins
- Tableau Developers
- Unreal Engine Developers
- Xamarin Developers
- View More Freelance Developers
Join the Toptal® community.