Contributions
Article
A lightweight solution to validate nested models in the incoming API params using the ActiveModel::Validations module.
Article
My experience with implementing end-to-end testing for API only Rails apps leveraging the gherkin syntax.
The importance and the benefits of this level of testing.
The importance and the benefits of this level of testing.
Article
New week new bug to hunt down! A day after our last deployment at work, a new type of error started rising like a great wave. Random SQL update queries started failing at random with the following error:
ActiveRecord::StatementInvalid: Mysql2::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE users SET ...
ActiveRecord::StatementInvalid: Mysql2::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE users SET ...
Article
I collected the experience and the lessons I learned during the process of upgrading Rails from 3.2 to 4.2 along with some undocumented changes and solutions for them.
Article
After upgrading Rails 3.2 to 4.0 we had a new type of errors:
ActiveRecord::StatementInvalid: Mysql2::Error: Data too long for column 'target_column'...
It turned out we had to truncate DB fields based on byte size rather than the character length before saving them to the DB
ActiveRecord::StatementInvalid: Mysql2::Error: Data too long for column 'target_column'...
It turned out we had to truncate DB fields based on byte size rather than the character length before saving them to the DB
Article
The second part of a debugging journey where I hunt down a weird error. This part deals with the mysterious HTTP::Net EOFError, introduces how to improve logging and to log HTTP requests.
Tutorial
In this tutorial we build a tool that sends a notification if a marked method gets invoked. This helps us to double-check if the method in question is indeed unused before removing it.