Skip to content

Instantly share code, notes, and snippets.

View pjkelly's full-sized avatar

PJ Kelly pjkelly

  • Orange County, CA
View GitHub Profile
@aroop
aroop / GenerateImageThumbnailsJob.rb
Created February 1, 2012 07:45
Dragonfly image processor
class GenerateImageThumbnailsJob < Struct.new(:photo_id)
def perform
photo = Photo.find(photo_id)
photo.medium_image = photo.image.thumb('940x600')
photo.large_image = photo.image.thumb('450x')
photo.small_image = photo.image.thumb('172x167#c')
photo.save
end
@ngs
ngs / gradient_support.rb
Created February 2, 2012 10:36
a patch to fix compass raising error when using 'transparent' keyword for gradiention: 'Expected a color. Got: transparent'
## If you are using under a rails project,
## I recommend to put this script onto config/initializer instead of applying the patch
module Compass::SassExtensions::Functions::GradientSupport
class ColorStop < Sass::Script::Literal
def initialize(color, stop = nil)
self.options = {}
if color.is_a?(Sass::Script::String) && color.value == 'transparent'
@nz
nz / example-installation-testing-session.sh
Created February 12, 2012 23:34
Getting started with Bonsai.io's hosted ElasticSearch service
$ heroku addons:add elasticsearch:test
-----> Adding elasticsearch:test to bonsai-search... done, v51 (free)
$ heroku config | grep ELASTICSEARCH_URL
ELASTICSEARCH_URL => http://index.bonsai.io/pw4mw3d5y1rql88i44eo
$ curl 'http://index.bonsai.io/pw4mw3d5y1rql88i44eo/test?pretty=true' -d '{"test":"hello world"}'
{
"ok":true,
"_index":"pw4mw3d5y1rql88i44eo",
@myobie
myobie / mountain-lion-brew-setup.markdown
Created February 18, 2012 20:14
Get Mountain Lion and Homebrew to Be Happy

Get Mountain Lion and Homebrew to Be Happy

1) Install XCode 4.4 into /Applications

Get it from the App Store.

2) Install Command Line Tools

In XCode's Preferences > Downloads you can install command line tools.

@sj26
sj26 / README.md
Created February 29, 2012 10:38
Subdomains in Rails 3

Subdomains in Rails 3

Are still a nightmare to get tested, etc.

To share sessions across subdomains you need to set the session options during the request so you know what domain you're sharing across. This means we still need to do it with a before_filter, or something similar. It looks like you should be able to set :domain => true in config/initializers/session_store.rb to do this instead but Devise does not support it yet as far as I can see.

Here I'm using subdomains with a custom url_for extension which means from "http://www.smackaho.st" root_path would be "/" while from "http://admin.smackaho.st" root_path would be "http://www.smackaho.st/".

In cucumber this is forced to always qualify the full URL with the subdomain. It also rewrites the port in/out as neccessary to cope with Capybara's server using an alternate port (used by Selenium for javascript testing etc). The project I'm on is still using web_steps (sigh) so I had to touch the "should be on" step definition to cope with

@twasink
twasink / gist:1997799
Created March 8, 2012 01:20
Colourised git-aware PS1 that also knows what repo you're in.
__git_repo () {
local g="$(__gitdir)"
local repo_dir=""
if [ -n "$g" ]; then
if [ ! ".git" == "$g" ]; then
git_dir=`dirname $g`
repo_dir=`basename $git_dir`
printf " $repo_dir"
fi
@audionerd
audionerd / middleman_mustache.rb
Created March 13, 2012 02:24
Mustache support for Middleman
require 'tilt-mustache'
# Mustache Renderer
module Middleman::Renderers::Mustache
class << self
def registered(app)
# Mustache is not included in the default gems,
# but we'll support it if available.
begin
@mendelgusmao
mendelgusmao / gist:2356310
Created April 11, 2012 01:53
high performance URL shortener on steroids using nginx, redis and lua
# based on http://uberblo.gs/2011/06/high-performance-url-shortening-with-redis-backed-nginx
# using code from http://stackoverflow.com/questions/3554315/lua-base-converter
# "database scheme"
# database 0: id ~> url
# database 1: id ~> hits
# database 2: id ~> [{referer|user_agent}]
# database 3: id ~> hits (when id is not found)
# database 4: id ~> [{referer|user_agent}] (when id is not found)
# database 5: key "count" storing the number of shortened urls; the id is generated by (this number + 1) converted to base 62
@tommedema
tommedema / db connector improved.js
Created May 20, 2012 17:14
annotated mongodb node.js driver replicaset connection example, please read the comments
module.exports = function(mediator) {
var mongo = require('mongodb'),
Server = mongo.Server,
Db = mongo.Db,
ReplSet = mongo.ReplSet,
config = require('../../config'),
replSetName = config.mongo.rsname,
servers = config.mongo.servers,
dbName = config.mongo.dbname;
@mcasimir
mcasimir / static_map_helper.rb
Created May 24, 2012 01:32
Google Maps Static map helper for Ruby on Rails
module StaticMapHelper
def static_map_for(location, options = {})
params = {
:center => [location.lat, location.lng].join(","),
:zoom => 15,
:size => "300x300",
:markers => [location.lat, location.lng].join(","),
:sensor => true
}.merge(options)