Skip to content

Instantly share code, notes, and snippets.

View dandrews's full-sized avatar
🏠
Working from home

Dan Andrews dandrews

🏠
Working from home
View GitHub Profile
@aviraldg
aviraldg / ICSE.py
Created June 6, 2012 19:08
A script that scrapes the results of the current ICSE exams for a particular school/exam centre.
#!/usr/bin/env python
import sqlite3
import requests
import bs4
import datetime
SOURCE_URI = 'http://server2.examresults.net/icseX12-res.aspx'
def main(args):
@smoovej
smoovej / gist:2831159
Created May 29, 2012 22:23
Clear memcached on Heroku
heroku run bundle exec rails console --app flixmaster
require "dalli"
dc = Dalli::Client.new
dc.flush
@wangmh
wangmh / eventmachine.rb
Created April 6, 2012 08:07 — forked from joshuasiler/eventmachine.rb
Initializer that allows EventMachine to run within Rails, and work with AMQP, Passenger, Thin and Capybara
require 'amqp'
module HiringThingEM
def self.start
if defined?(PhusionPassenger)
PhusionPassenger.on_event(:starting_worker_process) do |forked|
# for passenger, we need to avoid orphaned threads
if forked && EM.reactor_running?
EM.stop
end
Thread.new {
@dira
dira / rename_mongoid_collection.rb
Created March 28, 2012 10:14
Rename a Mongoid collection
# want to nest `Video` under `Media`; had a `videos` collection
# rename the collection:
Mongoid.database.drop_collection('videos')
Mongoid.database.rename_collection('videos', 'media')
# or
Mongoid.database.collection('videos').rename('media')
# change the type of all the existing records
@travisp
travisp / invitations_controller.rb
Created March 9, 2012 15:56
devise_invitable with omniauthable
class InvitationsController < Devise::InvitationsController
# GET /resource/invitation/accept?invitation_token=abcdef
def edit
if params[:invitation_token] && self.resource = resource_class.to_adapter.find_first( :invitation_token => params[:invitation_token] )
session[:invitation_token] = params[:invitation_token]
render :edit
else
set_flash_message(:alert, :invitation_token_invalid)
redirect_to after_sign_out_path_for(resource_name)
@bbwharris
bbwharris / us_state_loader.rake
Created February 22, 2012 03:56
States with Abbreviations, Rails, Ruby
namespace :states do
desc "load state names and abbreviations"
task :load => :environment do
states = {
"Alabama" => "AL",
"Alaska" => "AK",
"Arizona" => "AZ",
"Arkansas" => "AR",
"California" => "CA",
"Colorado" => "CO",
@aarongustafson
aarongustafson / responsive-iframes.css
Created October 25, 2011 17:07
Responsive iFrames with jQuery
iframe {
max-width: 100%;
}
@jcasimir
jcasimir / friendly_urls.markdown
Created September 11, 2011 15:48
Friendly URLs in Rails

Friendly URLs

By default, Rails applications build URLs based on the primary key -- the id column from the database. Imagine we have a Person model and associated controller. We have a person record for Bob Martin that has id number 6. The URL for his show page would be:

/people/6

But, for aesthetic or SEO purposes, we want Bob's name in the URL. The last segment, the 6 here, is called the "slug". Let's look at a few ways to implement better slugs.

@markoa
markoa / omniauth_callbacks_controller.rb
Created August 17, 2011 14:45
Saving LinkedIn OAuth data in a callback action (Rails controller, Devise, Omniauth).
# in your routes.rb:
# devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
#
# and view:
# link_to("Connect to LinkedIn", user_omniauth_authorize_path(:linked_in))
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def linkedin
omniauth_hash = env["omniauth.auth"]
@juggy
juggy / call_template.rb
Created May 17, 2011 19:25
Render a complete page in rails 3 without controller
# create the template
template = PageOfflineTemplate.new
template.quote = quote
template.pages = quote.build_pages
# Here I render a template with layout to a string then a PDF
pdf = PDFKit.new template.render_to_string(:template=>"quotes/review.html.haml")