Skip to content

Instantly share code, notes, and snippets.

Avatar

Todd Huss thuss

View GitHub Profile
@thuss
thuss / login.feature
Created Apr 16, 2011
Cucumber login scenario
View login.feature
Scenario: login with valid credentials
Given I am on the login page
When I fill in "Email" with "test@test.com"
And I fill in "Password" with "test123pass"
And I press "Login"
Then I should be on the users home page
And I should see "Login successful"
View gist:870094
package org.vm.web;
import java.util.*;
/**
* @author thuss
*/
public class CollectionStuff {
private Map<String, String> redirects = new HashMap<String, String>() {{
@thuss
thuss / github-backups.sh
Created Dec 8, 2010
A simple script to backup github repositories
View github-backups.sh
#!/bin/bash -e
#
# This script clones or fetches the latest updates from selected repo's and then tar's them up
#
CHECKOUT_DIR=$HOME/backups/checkouts
BACKUP_DIR=$HOME/backups/tarballs
LOG=/tmp/github-daily-backups.log
REPOS="vm-main vm-cdn vm-operations-chef vm-iphone vm-contrib"
function clone_or_fetch {
View README.rdoc
View arrival_calculator_spec.rb
require File.dirname(__FILE__) + '/spec_helper.rb'
describe ArrivalCalculator do
include ArrivalCalculator
it "should throw an exception on unexpected values" do
lambda { average_time_of_day(["26:41am", "6:51am"]) }.should raise_error(ArgumentError)
end
it "should handle a single time" do
View arrival_calculator.rb
require 'time'
module ArrivalCalculator
TWELVE_HOURS = 12 * 60 * 60
TWENTY_FOUR_HOURS = 24 * 60 * 60
# Average time of day expects array such as ['11:00am', '1:00pm'] => '12:00pm'
def average_time_of_day(times)
times_in_seconds = times.map do | time |
raise ArgumentError, "Unexpected format " + time unless time.strip =~ /^[01]?\d:\d\d(am|pm)$/