KatPadi's Point

Author: Kat Padilla

I am a caffeine-dependent human. You can find me at @katpadi, where I share random thoughts about my misadventures in software development. I love traveling, the Lakers, coffee, and binge-watching— in no particular order.

Git: Squash Commits

With git it’s possible to squash previous commits into one before sharing them with others. Step 1 For example you want to squash your last 3 commits: git rebase -i HEAD~3 On the other hand, if you want to just simply squash all the unpushed commits: git rebase -i origin/master If you have many commits and…

TIL: Action Cable x WebSockets

So I finally had time exploring Rails 5 after quite a busy schedule. First order of business– check out Action Cable as it seems to be one of the most promising features to Rails 5. To understand Action Cable, I had to understand WebSockets first. WebSockets…wut?  Clearly, the online world has been largely built around the…

Ruby Gem That Makes Your Model Activatable

Aktibibo is a simple Ruby gem that makes your model activatable. It allows an ActiveRecord model to be declared as “activatable” thus providing scopes for querying and filtering objects. Of course, the module adds convenience methods for setting an instance as active, inactive or deactivated. As an additional feature, it also saves the activation and deactivation dates because it uses datetime DB…

My First RubyGem Is Called Sorty Sorter

In the Ruby world, mixins are very popular. In fact, I’ve created a number of basic mixins (or concerns) in Rails projects and so it came to a point where I wanted to try converting it to a gem. Why? Because why not? Well, just for the experience. Anyway, my first RubyGem is called Sorty Sorter. It sorts AR collection…

Race Condition and Rails with_lock

At one point in a dev’s life, race condition will be something that one needs to solve. Race conditions happen when the outcome is dependent on the sequence or timing of other events like saving a record to the database. If two users read a value from a record and then update it simultaneously, one of the…

My Go-To ST3 Packages for Rails Development

While most of my officemates use RubyMine, I use ST3. The thing I love most about this editor is the versatile package system – there’s a package for almost everything! Anyway, I decided to list down My Go-To ST3 Packages for Rails Development: Package Control‘s first on the list because it allows me to easily add other…

Policy Object Adventures

A few months back, I wrote something about my service object adventures to handle extraction of a business logic from a Rails model or controller. Recently, I got introduced and experimented on the concept of policy object. Policy objects are pretty much just like service objects. In fact, from what I understand, policy object is actually…