Skip to content

Instantly share code, notes, and snippets.

Avatar
At harbour

John Barton joho

At harbour
View GitHub Profile
View gist:7238
,---------------------.
_.--._ ( I only bone *artists* )
,' `. `-,-------------------'
/ __) __` \ _.-'
( (`-`(-') )
/) \ _ / (
/' )-._.' . \ ___
( ,--., `.)___(___)
)( /-.,--'\ _ \X/`
'/ .'/ \ ( Uu")\
@joho
joho / gist:15236
Created Oct 7, 2008
git log | grep -i 'dhh'
View gist:15236
git log | grep -i 'dhh'
DHH is an a-hole. validates_uniqueness_of is supposed to be case insensitive by default according to the docs, but it ain't.
if i ever meet DHH i'm gonna punch him in the face for changing this aspect of the rails api, then i'm gonna get him to punch me in the face for not fixing all the holes in our app, and now i'm gonna go hunting in the logs to find the user who pissed us off so we can all punch them in the face
stupid madness, stupid dhh and stupid me redux
stupid madness, stupid dhh and stupid me
View gist:21187
#!/usr/bin/env ruby
# Open a new tab in Terminal
# usage: tab [cmd]
# If cmd is specified, it will be run in new tab while old tab is reactivated.
# If no cmd, new tab is activated
require "rubygems"
# gem install rb-appscript
require "appscript"
include Appscript
View with.rb
# DRY temporary variables that require single use only, without assignment... seems
# useful for configuration files perhaps? urgh.
class Object
def scoped_variable(*objects)
yield(objects)
end
alias scoped_variable scoped_variables
end
View with.rb
# DRY temporary variables that require single use only, without assignment... seems
# useful for configuration files perhaps? urgh.
class Object
def with(object)
yield(object)
end
end
@reports = []
View with.rb
# DRY temporary variables that require single use only, without assignment... seems
# useful for configuration files perhaps? urgh.
class Object
def with(object)
yield(object)
end
end
@reports = []
View with.rb
# DRY temporary variables that require single use only, without assignment... seems
# useful for configuration files perhaps? urgh.
class Object
def with(object)
yield(object)
end
end
@reports = []
View gist:39169
value = "Don T Alias"
first_name, last_name = value.reverse.split(' ', 2).reverse.collect(&:reverse)
first_name = first_name.to_s
last_name = last_name.to_s
# Refactored to take into account Xavier's pathological aversion to case statements:
last_space_index = value.rindex(' ') || value.size
first_name, last_name = value[0..last_space_index].strip, value[last_space_index..value.size].strip
---
View gist:45836
# http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002047
class Item < ActiveRecord::Base
before_save :tidy_up_vals
def tidy_up_vals
self.price = Money.new(price_before_type_cast.to_i * 100)
end
end
@joho
joho / lazy_load_attributes.rb
Created Jan 15, 2009
Lazy load your attributes with ActiveRecord
View lazy_load_attributes.rb
module LazyLoadingAttributes
def lazy_attribute(attribute_name)
send attribute_name
rescue ActiveRecord::MissingAttributeError
if id
reload
send attribute_name
else
raise "Cannot lazy load attributes without and ID (can't find the original record)"
end