Vipul A M

Vipul A M

I am an active member of Ruby community. I have been consistently contributing to Ruby on Rails for a number of years and now am one of the top 30 contributors to Ruby on Rails. I also help as co-editor for the This week in Rails newsletter. Besides Ruby on Rails I have also contributed to many other notable open source projects including Sinatra, Devise and Rake. I am a seasoned speaker an have spoken at many conferences around the world including Gogaruco in San Francisco, RedDotRubyConf in Singapore, RubyConfIndia in Goa, India MadisonPlusRuby in Madison, Wisconsin, RubyConfBrazil in Suo Paulo, Brazil, and RubyConf Philippines in Manilla, Philippines. I am organizer of Deccan Ruby Conference and used to run RubyIndia Podcast. During my early days of open source as part of "Google summer of code" I contributed to the krypt-project project. Later I helped mentor in the JRuby and currently mentor in the Ruby on Rails organization for Google summer of code. When not working on Ruby, I am mostly working on Reactjs. I have authored the book Building Modern Web Applications with React.js which is published by PACKT. I have produced a number of screencasts on the topic of Learn React.js.
authorImg Vipul A M

picture_tag helper in Rails

Support for picture_tag helper in Rails. Its usage, advantages, and use cases.
authorImg Vipul A M

Rails.env.local? in Rails 7.1

Rails.env.local? was introduced in Rails 7.1. This post explores its usage.
authorImg Vipul A M

On how to better understand context and communicate questions

On how to better understand context and communicate questions. Personal musings on running a company
authorImg Vipul A M

Back to Office- The Remote Work edition

As the pandemic enters into a stage where some companies are retracting Work from Home, lets look at some alternatives.
authorImg Vipul A M

ES 12/2021 introduces new logical assignment operators

ES 12/2021 introduces new logical assignment operators for nullish(??=), AND(&&=) and OR(||=).
authorImg Vipul A M

How to start with Software Consulting or Freelancing

How to get started with Software Consulting or Software Freelancing. First steps, ongoing work and more.
authorImg Vipul A M

Ruby 2.7 adds Enumerable#filter_map

Ruby 2.7 has added Enumerable#filter_map as a shorthand for filter + map in a single call
authorImg Vipul A M

Rails 6 adds Relation#reselect

Rails 6 add a reselect method to Relation. This is a short-hand for "unscope(:select).select(fields)".
authorImg Vipul A M

Rails 6 adds Array#including, Array#excluding, Enumerable#including, Enumerable#excluding

Rails 6 adds Array#including, Array#excluding, Enumerable#including, Enumerable#excluding
authorImg Vipul A M

Ruby 2.7 adds Enumerable#tally

Ruby 2.7 has added Enumerable#tally. It helps to tally occurrences of elements in an Enumerable.
authorImg Vipul A M

Rails 6 adds support for timezones to Active Job

Rails 6 now supports preserving timezones to Active Job. It record what was the current timezone in effect when the job was enqueued and then restore when the job is executed in same way that the current locale is recorded and restored.
authorImg Vipul A M

Rails 6 adds negative scopes for all enum values

Rails 6 adds negative scopes for all enum values
authorImg Vipul A M

Ruby 2.7 adds shorthand operator for Object#method

Ruby 2.7 adds experimental shorthand operator for Object#method. Allows method object access using :, example File.:basename
authorImg Vipul A M

Rails 6 adds Enumerable#index_with

Rails 6 adds Enumerable#index_with to allows creating a hash from an enumerable with the value from a passed block or a default argument.
authorImg Vipul A M

Using Rails config_for as a replacement for secrets alongside credentials

Rails secrets is deprecated in Rails 6, config_for is a replacement of using ENV specific configuration along with credentials.
authorImg Vipul A M

Rails 6 adds Relation#create_or_find_by

Rails 6 adds Relation#create_or_find_by to avoid race conditions of Relation#find_or_create_by
authorImg Vipul A M

Rails 6 adds String#truncate_bytes

Rails 6 adds String#truncate_bytes to limit to N characters without breaking multibytes chars