Skip to content

Instantly share code, notes, and snippets.

View boostbob's full-sized avatar
💣
Born to try

Bob Wang boostbob

💣
Born to try
  • boostbob
  • Chengdu, Sichuan, China
View GitHub Profile
@carlosantoniodasilva
carlosantoniodasilva / gist:640361
Created October 22, 2010 11:08
Configure User Agent for selenium webdriver in Capybara
# Re-register selenium driver to be able to pass in the profile option, overriding the user agent.
Capybara.register_driver :selenium do |app|
require 'selenium/webdriver'
profile = Selenium::WebDriver::Firefox::Profile.new
profile['general.useragent.override'] = 'FooBar'
Capybara::Driver::Selenium.new(app, :profile => profile)
end
@isaacbowen
isaacbowen / will_paginate.rb
Created August 30, 2011 21:37
extends will_paginate to play well with Twitter's Bootstrap
# config/initializers/will_paginate.rb
module WillPaginate
module ActionView
def will_paginate(collection = nil, options = {})
options[:renderer] ||= BootstrapLinkRenderer
super.try :html_safe
end
class BootstrapLinkRenderer < LinkRenderer
@jamiehodge
jamiehodge / gist:1327195
Created October 31, 2011 09:38
Warden and Sinatra example
require 'sinatra/base'
require 'rack/flash'
require 'warden'
require 'slim'
require 'sequel'
require 'sqlite3'
DB = Sequel.sqlite
DB.create_table :users do
primary_key :id
class ApplicationController < ActionController::Base
...
#Problem:
#In rails 3.0.1+ it is no longer possible to do this anymore;
# rescue_from ActionController::RoutingError, :with => :render_not_found
#
#The ActionController::RoutingError thrown is not caught by rescue_from.
#The alternative is to to set a catch-all route to catch all unmatched routes and send them to a method which renders an error
#As in http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution
@jswhisperer
jswhisperer / CoffeeScript Jquery better each loop
Created July 19, 2013 07:42
CoffeeScript Jquery better each loop
# Better each() for use with coffeescript
# 1. Wraps child in jquery object
# 2. Sets child first argument, so that fat-binding can be used.
# 3. Sets @ as well, for normal binds
jQuery.fn.loop = (block) ->
for i in @
element = jQuery(i)
res = block.call element, element
break if res == false