Skip to content

Instantly share code, notes, and snippets.

View eiwi1101's full-sized avatar

William Eisert eiwi1101

View GitHub Profile
# Consider this common pattern...
if (user = User.find params[:id])
user.profile_viewed
end
# Would be a bit less awkward if...
with User.find params[:id] do |user|
user.profile_viewed
@eiwi1101
eiwi1101 / namespace.js
Last active December 21, 2017 14:05
It's like `mkdir -p` but for Javascript objects! (Probably an anti-pattern.)
// I often do stuff like (coffeescript):
//
// class @Forms.Select extends React.Component
//
// Which, often requires an ugly @Forms ||= {} somewhere, or this will
// explode. Now, I know there's better ways to do this, and CommonJS has
// its nifty resource stuff, but I am old and stuck in my ways and stuff.
//
// With this snippet (if you're in rails, you can include it in application.js
// before your components dir), you can write (again, coffee):
@eiwi1101
eiwi1101 / application_record.rb
Created October 15, 2018 19:58
Log validation errors and changes for all ActiveRecord updates.
class ApplicationRecord << ActiveRecord::Base
#...
after_validation :log_validation_errors
private
def log_validation_errors
Rails.logger.tagged self.class.name do
if self.errors.empty?