# Usage: sake pastie:patch PASTE=12345
desc "Apply a patch directly from Pastie"
task 'pastie:patch' do
require 'open-uri'

pastie_url = 'http://pastie.caboo.se/%s.txt'
patch_id = ENV['PASTE'].gsub(/\D/, '')

patch = open(pastie_url % patch_id).read

File.open('patch.diff', 'w+') do |f|
f.puts patch
end

`patch -p0 < patch.diff && rm patch.diff`

puts "Patched with pastie ##{patch_id}."
end