Skip to content

Instantly share code, notes, and snippets.

afcapel / assets.rake
Last active Aug 29, 2015
rake assets:precompile_if_needed
View assets.rake
# lib/tasks/assets.rake
namespace :assets do
task :precompile_if_needed do
require_relative '../assets_version'
next unless AssetsVersion.needs_precompile?
mislav / Gemfile.rb
Created Feb 22, 2010
Bundler setup for Rails 2.3.x apps
View Gemfile.rb
## example Gemfile
source :rubygems
group :rails do
gem 'rake', '< 0.9', :require => nil
gem 'rails', '~> 2.3.5', :require => nil
gem 'builder', '~> 2.1.2'
gem 'memcache-client', '>= 1.7.4', :require => nil
gem 'tzinfo', '~> 0.3.12'
gem 'i18n', '>= 0.1.3'
agibralter / culerity-hooks.rb
Created Apr 2, 2010
Cucumber hooks for culerity + rvm
View culerity-hooks.rb
Before("@culerity,@celerity,@javascript") do |scenario|
unless @env_rvm_jruby
@env_rvm_jruby = {}
require 'yaml'
rvm_info = YAML::load(`bash -l -c 'source ~/.rvm/scripts/rvm; rvm jruby ; rvm info'`).values.first
rvm_info['environment'].each do |k, v|
@env_rvm_jruby[k] = v
@env_jruby_path = rvm_info['binaries']['ruby'].gsub(%r{^(.*)/ruby$}, '\1')
jdhollis / resque_async_handling.rb
Created Jun 9, 2010
handle_asynchronously for Resque
View resque_async_handling.rb
module Resque
module AsyncHandling
# To disable (in config.after_initialize):
# Resque::AsyncHandling.enabled = false
mattr_accessor :enabled
self.enabled = true
def handle_asynchronously(original_method, params = { })
if enabled
now_method = "#{ original_method }_now"
View ssl_fix.rb
# Copy this to features/support/ssl_fix.rb to make Capybara work with sites that switch between HTTP and HTTPS
module Capybara::Driver::RackTest::SslFix
[:get, :post, :put, :delete].each do |method|
define_method method do |*args|
args[0] = path_to_ssl_aware_url(args[0])
View builders.rb
# Rails developers have long had bad experiences with fixtures for
# several reasons, including misuse.
# Misuse of fixtures is characterized by having a huge number of them,
# requiring the developer to maintain a lot of data and creating dependencies
# between tests. In my experience working (and rescuing) many applications, 80%
# of fixtures are only used by 20% of tests.
# An example of such tests is one assuring that a given SQL query with
# GROUP BY and ORDER BY conditions returns the correct result set. As expected,
pairing / active_model_lint.rb
Created Oct 21, 2010
RSpec ActiveModel Lint shared example
View active_model_lint.rb
# adapted from rspec-rails
shared_examples_for "ActiveModel" do
require 'test/unit/assertions'
require 'active_model/lint'
include Test::Unit::Assertions
include ActiveModel::Lint::Tests
# to_s is to support ruby-1.9{|m| m.to_s}.grep(/^test/).each do |m|
dchelimsky / gist:669112
Created Nov 9, 2010
View gist:669112
RSpec.configure do |c|
c.around do |example|
Capybara.using_driver(example.metadata[:driver], &example)
module Capybara
def self.using_driver(driver)
Capybara.current_driver = driver
View gist:757775
RSpec.configure do |config|
# RSpec automatically cleans stuff out of backtraces;
# sometimes this is annoying when trying to debug something e.g. a gem
config.backtrace_clean_patterns = [
paneq / capc.rb
Created Jan 27, 2011
Creating an object with Capybara api and jumping into it.
View capc.rb
#!/usr/bin/env ruby
require 'bundler'
Bundler.setup(:default, :test) if defined?(Bundler)
require "selenium-webdriver"
require 'capybara/dsl'
Capybara.default_driver = :selenium
Capybara.default_selector = :css
Capybara.default_wait_time = 5