At OmbuLabs, we recently had the opportunity to develop a Discord bot from scratch. We found the experience both rewarding and insightful, prompting us...
Rails
Discord
Ruby
Configuring your Rails application can be tricky. How do you define secrets? How do you set different values for your local development and for production?...
Rails
Ruby
Environment Variables
When working with complex forms, it’s really easy to immediately start adding JavaScript to implement non-common behaviors. But there are some hidden gems in the...
Rails
Forms
Html Forms
Email threads are great for improving the user experience of your app. In this post we will learn how the RFC 5322 specification expects us...
Rails
Emails
Tutorial
Audit is a Rails application that allows users to check for vulnerabilities in their Gemfiles in an efficient and secure manner.
The tool has...
Open Source
Audit
Ruby
Rails
With the release of Rails 6, Webpack was introduced as the default JavaScript bundler by using the Webpacker gem . We tend to think...
Learning
Webpacker
Assets
Rails UJS (Unobtrusive JavaScript) is the JavaScript library that helps Rails do its magic when we use options like remote: true
for...
Learning
Javascript
Rails
Previously, I outlined the new hotness that is Hotwire. New features are nice, but what can you build with it? Let’s build a little project,...
Rails
Hotwire
Demo
Have you ever had to deal with complex forms creating multiple objects and hierarchies in one request? Rails is there to help provide a set...
Learning
Rails
Nested Forms
One of the most visible and controversial new developments with the release of Rails 6.0 is Hotwire . Like anything in web development, the...
Rails
Hotwire
Streaming
Devise is a well known solution for authentication in Rails applications. It’s full featured (it not only adds authentication but also password recovery, email...
Learning
Devise
Ruby
Since the release of Rails 6, Webpack is the default JavaScript bundler for new Rails apps. We all struggled at first coming from a Sprockets ...
Learning
Webpack
Sprockets
We, Ruby developers, are used to running scripts or commands with the prefix bundle exec
, but sometimes it’s not needed, but sometimes it...
Ruby
Learning
Bundler
In the first and second parts of this series we talked...
Ruby
Learning
Methods
In the first part of this series we talked about positional arguments,...
Ruby
Learning
Methods
Ruby is an object oriented language where everything is an object (even methods are objects of the class Method !), so everything we need to...
Ruby
Learning
Methods
Here at OmbuLabs, we do a lot of work with older versions of Ruby and Rails. Recently, I’ve been taking a look at Docker ,...
Devops
Docker
Tutorials
At OmbuLabs we use Jekyll to generate our blog . If you are not familiar with it, here is a quick description from...
Github
Jekyll
Ruby
Some time ago we wrote an article to explain how to implement Stripe Connect in a Rails application. That article covered mainly...
Rails
Stripe
Stripe Connect
Service Objects are a controversial idea for several different reasons: some developers like to use them, others like to use similar patterns, and some think...
Rails
Service Objects
Ruby
In a recent project for OmbuLabs , we had to integrate Bitrix24 (the tool that the client was using to administrate their business) with...
Rails
Bitrix
Integration
At OmbuLabs, we recently had the opportunity to develop a Discord bot from scratch. We found the experience both rewarding and insightful, prompting us...
Rails
Discord
Ruby
Configuring your Rails application can be tricky. How do you define secrets? How do you set different values for your local development and for production?...
Rails
Ruby
Environment Variables
When working with complex forms, it’s really easy to immediately start adding JavaScript to implement non-common behaviors. But there are some hidden gems in the...
Rails
Forms
Html Forms
Email threads are great for improving the user experience of your app. In this post we will learn how the RFC 5322 specification expects us...
Rails
Emails
Tutorial
Audit is a Rails application that allows users to check for vulnerabilities in their Gemfiles in an efficient and secure manner.
The tool has...
Open Source
Audit
Ruby
Rails
With the release of Rails 6, Webpack was introduced as the default JavaScript bundler by using the Webpacker gem . We tend to think...
Learning
Webpacker
Assets
Rails UJS (Unobtrusive JavaScript) is the JavaScript library that helps Rails do its magic when we use options like remote: true
for...
Learning
Javascript
Rails
Previously, I outlined the new hotness that is Hotwire. New features are nice, but what can you build with it? Let’s build a little project,...
Rails
Hotwire
Demo
Have you ever had to deal with complex forms creating multiple objects and hierarchies in one request? Rails is there to help provide a set...
Learning
Rails
Nested Forms
One of the most visible and controversial new developments with the release of Rails 6.0 is Hotwire . Like anything in web development, the...
Rails
Hotwire
Streaming
Devise is a well known solution for authentication in Rails applications. It’s full featured (it not only adds authentication but also password recovery, email...
Learning
Devise
Ruby
Since the release of Rails 6, Webpack is the default JavaScript bundler for new Rails apps. We all struggled at first coming from a Sprockets ...
Learning
Webpack
Sprockets
We, Ruby developers, are used to running scripts or commands with the prefix bundle exec
, but sometimes it’s not needed, but sometimes it...
Ruby
Learning
Bundler
In the first and second parts of this series we talked...
Ruby
Learning
Methods
In the first part of this series we talked about positional arguments,...
Ruby
Learning
Methods
Ruby is an object oriented language where everything is an object (even methods are objects of the class Method !), so everything we need to...
Ruby
Learning
Methods
Here at OmbuLabs, we do a lot of work with older versions of Ruby and Rails. Recently, I’ve been taking a look at Docker ,...
Devops
Docker
Tutorials
At OmbuLabs we use Jekyll to generate our blog . If you are not familiar with it, here is a quick description from...
Github
Jekyll
Ruby
Some time ago we wrote an article to explain how to implement Stripe Connect in a Rails application. That article covered mainly...
Rails
Stripe
Stripe Connect
Service Objects are a controversial idea for several different reasons: some developers like to use them, others like to use similar patterns, and some think...
Rails
Service Objects
Ruby
In a recent project for OmbuLabs , we had to integrate Bitrix24 (the tool that the client was using to administrate their business) with...
Rails
Bitrix
Integration
Everyone has had the experience of working on a gnarly, difficult to understand code-base. The sort of code base that makes you hate your job....
Ruby
Best Practices
Rubocop
In a previous article we talked about one of the Rails Girls events that we sponsored and co-organized in 2018. Fast forward one...
Learning
Rails
Rails Girls
Sidekiq Pro comes with a great feature to process a collection of jobs as a batch, allowing them to be monitored as a group...
Sidekiq
Background Process
Batch Processing
One of the first complications that most webapps of any complexity will run into is the need for privileged users who can do things that...
Security
Gems
Rails
At OmbuLabs , we are big fans of Ruby on Rails and design patterns , especially convention over configuration ! The beauty of Rails...
Rails
Data Migrations
Design Patterns
If you’re looking for services that handle the delivery of your emails and SMSs in your app, SendGrid and Twilio are some of...
Rails
Webhooks
Sendgrid
Twilio
If you are interested in Ruby and Rails performance, you have definitely read articles by Nate Berkopec from Speedshop . At Ombu Labs we...
Rails
Performance
Best Practices
The internet is a wonderful place, but there will always be people that don’t have good intentions when they visit our websites. That’s why you...
Rails
Security
Command Injection
Sql Injection
VIDEO
Transcript:
Hello and welcome to the first OmbuCast by OmbuLabs. In this screencast we’ll be taking a look at...
Rails
Performance
Benchmark
If you live in Argentina and you ever use AFIP, you should already know that their platform is not the best in terms of user...
Open Source
Ruby
Rubygems
How many times did you come across a great gem you wanted to try out in a production console, like benchmark-ips or awesome-print ?
…
Rails
Ruby
Gem
When working on a Rails project, you may have seen present?
calls on ActiveRecord relationships. This might feel natural, mostly because <code class="language-plaintext...
Benchmark
Performance
Rails
A few weeks ago, I noticed weird output in the RSpec test suite (~4000 tests) for a Rails application:
Rspec
Ruby
Rails
When writing tests for services, you may sometimes want to use mock objects instead of real objects. In case you’re using ActiveRecord and real objects,...
Rspec
Ruby
Spy
Double
Instance Double
A few times in the past I’ve had to interact with IMAP via Ruby, and wrapping your head around its API is not so easy....
Ruby
Imap
Email
I’m a big fan of having small classes. I’m not a big fan of having huge specs for a small class/object. Every time I see...
Rails
Dry
Testing
Sessions provide you a nice little data storage feature where the application does not need to get the information directly from the database. So you...
Ruby
Rails
Sessions
Recently, we started using Skylight in production for one of our clients’ Rails applications, in an attempt to try to improve the performance of...
Rails
Performance
Skylight
It will come a time when you will have to decide whether to maintain a Rails project or not .
If you want to seriously...
Rails
Maintenance
Evaluate
Maybe in the past you stumbled over the two different approaches to setup your test variables. One way is the more programmatical approach by using...
Rails
Rspec
Ruby
When integrating Backbone.js in your Rails App, you might face the problem of the inability to verify the CSRF-Token.
The CSRF Protection secures...
Rails
Backbone
Security
default_scope
is a method provided by ActiveRecord, which allows you to set a default scope (as its name implies) for all operations done...
Ruby
Rails
Best Practices
Often, Enumerable#select
is the chosen method to obtain elements from an Array for a given block. Without thinking twice, we may be doing...
Ruby
Benchmark
Enumerable