My submission for Ruby Challenge #3: Short Circuit
rubylearning.com/blog/2009/10/30/rpcfn-short-circuit-3/
-
100% RSpec test coverage
-
Works in both Ruby 1.8 and 1.9
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)$/ |
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 |
#!/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 { |
package org.vm.web; | |
import java.util.*; | |
/** | |
* @author thuss | |
*/ | |
public class CollectionStuff { | |
private Map<String, String> redirects = new HashMap<String, String>() {{ |
Scenario: login with valid credentials | |
Given I am on the login page | |
When I fill in "Email" with "[email protected]" | |
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" |
/ Partial used on http://www.fanclasstic.com for mapping organizations | |
- organizations = organizations.delete_if{|o| o.latitude.nil? || o.longitude.nil?} | |
- if organizations.size > 0 | |
- center = Geocoder::Calculations.geographic_center(organizations.clone) | |
#google-map | |
%script{:src => "http://maps.google.com/maps/api/js?sensor=false"} | |
%script{:type => "text/javascript"} | |
//<![CDATA[ | |
function initialize() { | |
var myOptions = { |
// | |
// LeadArticleViewControllerTest.m | |
// | |
#import <SenTestingKit/SenTestingKit.h> | |
#define HC_SHORTHAND | |
#import <OCHamcrestIOS/OCHamcrestIOS.h> | |
#import <OCMock/OCMock.h> | |
#import <CoreData/CoreData.h> | |
#import "AppController.h" |
+(NSDictionary *)dictionaryFromJsonWebService:(NSString *)urlString { | |
if (!urlString) return [NSDictionary dictionary]; | |
NSDictionary *dict = nil; | |
NSError *err; | |
// Make the web service request | |
NSURL *url = [NSURL URLWithString:urlString]; | |
NSHTTPURLResponse* urlResponse = nil; | |
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url | |
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData |