Skip to content

Instantly share code, notes, and snippets.

View rchampourlier's full-sized avatar

Romain Champourlier rchampourlier

View GitHub Profile
@rchampourlier
rchampourlier / google_bot_aware.rb
Created May 3, 2012 22:32
Rack middleware to make Rails deal correctly with GoogleBot's '*/*;q=0.6' Accept header
# This Rack middleware helps solving the issue with some Rails versions which do not accept
# a '*/*;q=0.6' and their variants 'Accept' request header. This header is particularly used
# by Google Bot, and if Rails doesn't like it, it will return a 500 or 406 error to Google Bot,
# which is not the best way to get your pages indexed.
#
# References:
# - http://stackoverflow.com/questions/8881756/googlebot-receiving-missing-template-error-for-an-existing-template
# - https://github.com/rails/rails/issues/4127
#
class GoogleBotAware
@rchampourlier
rchampourlier / Gemfile
Created January 5, 2013 22:18
Bundler issue information for "`Illformed requirement [""]` when calling `bundle update somegem`" issue
source 'http://rubygems.org'
# Framework
gem 'rails', '~> 3.2.0'
# Datastores
gem 'pg'
gem "mongoid"
gem "mongo"
gem "bson"
@rchampourlier
rchampourlier / example_spec.rb
Created August 14, 2012 14:46 — forked from henrik/example_spec.rb
Testing Draper decorators with real helpers, including URL helpers.
require "spec_helper"
# :draper_with_helpers is necessary for the Draper objects
# to access real helpers, including URL helpers, in the spec.
describe MyDecorator, "#foo", :draper_with_helpers do
# This is necessary for the spec itself to use URL helpers
# like some_path().
include Rails.application.routes.url_helpers
@rchampourlier
rchampourlier / nginx.proxy.server.phoenix.conf
Last active September 10, 2016 11:36
Nginx server conf file for Phoenix local development
# This config for Nginx provides you a local domain
# (www.phoenix.dev) for Phoenix webserver development.
#
# ## Prerequisites
# - You must update you /etc/hosts file accordingly.
# - You must create a self-signed certificate if you
# intend on using the HTTPS proxying.
#
# Add this file in the /servers directory accompanying
# your nginx.conf file.
@rchampourlier
rchampourlier / Gemfile
Created October 2, 2016 12:28
Add SpecMetrics to your Rails project
# Add this gem to your Gemfile
gem 'aws-sdk', '~> 2.5.1'
@rchampourlier
rchampourlier / lazy_script.scpt
Created May 26, 2012 14:24
AppleScript for lazy developer on a Mac: opens multiple terminal tabs, run a set of commands on each tab
-- This script...
-- It assumes when you ssh into the vagrant box you automatically cd into
-- the project's directory (by having a `cd /vagrant` within your
-- `~/.bashrc` for example)
using terms from application "Terminal"
tell application "Terminal"
activate
-- open the terminal's window, set its dimensions

Keybase proof

I hereby claim:

  • I am rchampourlier on github.
  • I am rchampourlier (https://keybase.io/rchampourlier) on keybase.
  • I have a public key whose fingerprint is 0C55 7AA0 27D3 F5FE 1510 1FFF 4CDA 7FE8 66D0 3D97

To claim this, I am signing this object:

@rchampourlier
rchampourlier / session_mock.rb
Created April 16, 2017 21:29
SessionMock: a small module to help mocking sessions within Hanami in feature specs
# Session mocking may be used in feature tests to mock a session
# since it's not possible to inject the session through params or
# direct injection.
#
# SessionMock is a module that may be included
# in `Hanami::Web::Action` to override the session
# in feature specs.
#
# Usage (in the controller action):
#
@rchampourlier
rchampourlier / capybara_remote.rb
Created November 8, 2012 11:07
Capybara configuration connecting to selenium server for testing with a remote browser (pretty useful in Vagrant)
# SELENIUM_SERVER is the IP address or hostname of the system running Selenium
# Server, this is used to determine where to connect to when using one of the
# selenium_remote_* drivers
SELENIUM_SERVER = "10.10.11.1"
# SELENIUM_APP_HOST is the IP address or hostname of this system (where the
# tests run against) as reachable for the SELENIUM_SERVER. This is used to set
# the Capybara.app_host when using one of the selenium_remote_* drivers
SELENIUM_APP_HOST = "10.10.11.2"
@rchampourlier
rchampourlier / gist:1079119
Created July 12, 2011 22:18
nginx configuration file template for HTML-serving, reverse-proxying PHP and Rails apps through Passenger and standalone rails servers
user www;
worker_processes 1;
daemon on;
error_log /var/log/nginx/error.log warn;
timer_resolution 500ms;
events {
worker_connections 512;
}