Skip to content

Instantly share code, notes, and snippets.

View tombh's full-sized avatar

Thomas Buckley-Houston tombh

View GitHub Profile
@tombh
tombh / boss_search.rb
Created August 16, 2012 15:47 — forked from erikeldridge/example.rb
A utility for signing an url using OAuth in a way that's convenient for debugging
# This whole thing is horrible.
# Firstly Yahoo's website, docs and UI are terrible.
# Second, OAuth!? For a simple search API, WTF!?
# Thirdly, this code is bodged together, undocumented and didn't work with queries that needed URI escaping (but does now)
# GRRRRRRRRRRRRRRRRRRRRR!
require 'net/http'
# A utility for signing an url using OAuth in a way that's convenient for debugging
# config.ru for Rackup + Wordpress, based on http://stuff-things.net/2011/05/16/legacy-development-with-pow/
# added hackery to work around wordpress issues - Patrick Anderson (patrick@trinity-ai.com)
# clearly this could be cleaner, but it does work
# And more hackery by @twombh to work in Linux environment
require 'rack'
require 'rack-legacy'
require 'rack-rewrite'
# patch Php from rack-legacy to substitute the original request so
task calculate_per_location_costs: :environment do
year = ENV['YEAR'].to_i
month = ENV['MONTH'].to_i
# Method 1: By server usage
# Get all servers that were created in the given month
servers_by_location = Server.with_deleted
.where('extract(year from created_at) = ?', year)
.where('extract(month from created_at) = ?', month)
.group_by(&:location)
chocolates = ['maltesers', 'minstrels', 'green & blacks', 'montezuma']
we_ate = chocolates[0..1]
# Outputs: ['maltesers', 'minstrels']
<?php
$chocolates = ['maltesers', 'minstrels', 'green & blacks', 'montezuma'];
$we_ate = array_slice($chocolates, 0, 2);
// Outputs: ['maltesers', 'minstrels']
?>
desc 'Add, remove and list config for an app'
command :config do |c|
c.desc 'Delete config by keys'
c.command :rm do |sc|
sc.action do |global_options, options, args|
@api.request :delete, "/app/#{Git.first_sha}/config", {
keys: args.to_json
}
end
end
@tombh
tombh / gist:ffa163e8c05beb3c8317
Created June 12, 2014 10:42
Rspec exception getting caught by async method
require 'celluloid'
# It wasn't until I commented out this line that I realised what was actually going on below
# Celluloid.logger = nil
class Foo
include Celluloid
def do
bar
end
@tombh
tombh / gist:5519b4a0d17d78a9fef7
Created June 4, 2014 14:31
Docker-api rspec errors after bumping API_VERSION to 0.11
1) Docker::Container#changes returns the changes as an array
Failure/Error: ]
expected: [{"Path"=>"/dev", "Kind"=>0}, {"Path"=>"/dev/kmsg", "Kind"=>0}, {"Path"=>"/root", "Kind"=>2}]
got: [{"Kind"=>2, "Path"=>"/root"}] (using ==)
Diff:
@@ -1,4 +1,2 @@
-[{"Path"=>"/dev", "Kind"=>0},
- {"Path"=>"/dev/kmsg", "Kind"=>0},
- {"Path"=>"/root", "Kind"=>2}]
+[{"Kind"=>2, "Path"=>"/root"}]