Skip to content

Instantly share code, notes, and snippets.

View delphaber's full-sized avatar

Fabrizio Monti delphaber

View GitHub Profile
@bluemont
bluemont / url_validator.rb
Created June 25, 2012 04:27
ActiveModel URL Validator
class UrlValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
valid = begin
URI.parse(value).kind_of?(URI::HTTP)
rescue URI::InvalidURIError
false
end
unless valid
record.errors[attribute] << (options[:message] || "is an invalid URL")
@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"
@djburdick
djburdick / heroku.rake
Created December 30, 2012 01:27
Heroku rake tasks for deploy and system commands. #heroku, #deploy
# Usage: rake name:task app_name
task PROD = "appname" # "task" here stubs to prevent rake errors with commandline
task STAGING = "appname-staging"
APP = ARGV[1] || PROD # default app
puts "=== APP #{APP} ==="
namespace :deploy do
@crisu83
crisu83 / AuthFilter.php
Created January 12, 2013 21:48
AuthFilter class from the Auth module for the Yii PHP framework.
<?php
/**
* AuthFilter class file.
* @author Christoffer Niska <[email protected]>
* @copyright Copyright &copy; Christoffer Niska 2012-
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @package auth.components
*/
/**
@Arkham
Arkham / gist:5592899
Created May 16, 2013 16:08
active_admin monkey patch
module ActiveAdmin
module Views
class PaginatedCollection < ActiveAdmin::Component
protected
def build_pagination_with_formats(options)
div :id => "index_footer" do
build_pagination
div(page_entries_info(options).html_safe, :class => "pagination_information")
@tadast
tadast / Alphasights_technical_challenge.md
Last active April 3, 2024 12:25
A technical challenge we give to our Ruby on Rails applicants in order to evaluate their coding proficiency.Job description: http://www.alphasights.com/positions/ruby-developer-london or http://www.alphasights.com/positions/ruby-developer-new-york

Update: I no longer work for the company and this challenge is no longer used, but I'll leave the gist here in case people want to practice.

Alphasights Technical Challenge

Using Ruby on Rails we would like you to create a simple expert search tool. The application should fulfill the requirements below. The source code must be placed in a public repo on GitHub. The application should be deployable on Heroku.

  • I enter a name and a personal website address and a member is created.
  • When a member is created, all the heading (h1-h3) values are pulled in from the website to that members profile.
  • The website url is shortened (e.g. using http://goo.gl)
  • After the member has been added, I can define their friendships with other existing members. Friendships are bi-directional i.e. If Sasha is a friend of Ash, Ash is always a friend of Sasha as well.
@toobulkeh
toobulkeh / deploy.rb
Created January 2, 2014 02:42 — forked from benedikt/rails.rb
Updated for Capistrano 3.
# encoding: UTF-8
# Place in config/deploy.rb
namespace :rails do
desc "Open the rails console on each of the remote servers"
task :console do
on roles(:app) do |host| #does it for each host, bad.
rails_env = fetch(:stage)
execute_interactively "ruby #{current_path}/script/rails console #{rails_env}"
@mukkoo
mukkoo / media-query.sass
Created February 28, 2014 11:55
Sass media queries
$mobile-size: 320px
$tablet-size: 768px
$netbook-size: 1030px
$desktop-size: 1600px
$mobile: "all and (max-width: #{$mobile-size})"
$tablet: "all and (min-width: #{($mobile-size + 1)}) and (max-width: #{$tablet-size})"
$netbook: "all and (min-width: #{($tablet-size + 1)}) and (max-width: #{$netbook-size})"
$desktop: "all and (min-width: #{$netbook-size + 1}) and (max-width: #{$desktop-size})"
$big-desktop: "all and (min-width: #{$desktop-size + 1})"
@pcreux
pcreux / 0-gourmet-service-objects.md
Last active August 21, 2022 15:32
Gourmet Service Objects - Lightning Talk - http://vanruby.org - Feb 27, 2014

Gourmet Service objects

 @pcreux

 Feb 27, 2014
 http://vanruby.org
@cam8001
cam8001 / dapply
Last active December 6, 2024 20:29
Apply a patch directly from a URL without downloading it first.
#!/bin/bash
# Downloads and applies a patch from Drupal.org.
if [ -z "$1" ]
then
echo "You need to supply a URL to a patch file."
exit
fi
URL=$1;