Rails

Rails 6.1 supports `if_not_exists` option for adding index

Rails 6.1 added support for if_not_exists option to add_index. The if_not_exists provided to create_table also gets propagated to all indexes getting created in the create_table block.

Using Interactors in Rails

Interactors provide a common interface for performing complex user interactions.

Ways for reducing Heroku slug size

Techniques for reducing Heroku slug size for Rails applications

Rails adds support for descending order in find_each, find_in_batches and in_batches

Rails 6.1 has added support for providing order(ASC/DESC) to batch processing methods like find_each, find_in_batches and in_batches instead of processing records in ascending order always.

Rails - Added sub seconds to Time inspect

Rails has added sub seconds to ActiveSupport::TimeWithZone#inspect method.

Rails adds support for db:rollback:name for multiple database applications

Rails has added support for name option while rollbacking migration for multiple database application

Rails 6.1 add Enumerable#pick to complement Relation#pick

Adding pick to enumerable will enable us to call pick on loaded relations, unloaded relations, and plain enumerables interchangeably.

Using Optimizer Hints in Rails

Optimizer Hints allows us to control the query optimizer of a database system. Rails 6 has added support to provide Optimizer Hints.

Rails 6.1 adds ActionCable::Channel#stream_or_reject_for

Rails 6.1 adds `ActionCable::Channel#stream_or_reject_for` to stream or reject connection based on presence of record

Heredocs and how to use them in Ruby and Rails

What are heredoc and different ways to use them in Ruby and Rails.