Skip to content

Instantly share code, notes, and snippets.

View pdswan's full-sized avatar

Peter Swan pdswan

View GitHub Profile
@pdswan
pdswan / jruby_utc.rb
Created April 10, 2013 15:19
Forcing jruby to use UTC for everything
ENV['TZ'] = 'UTC'
if RUBY_PLATFORM =~ /java/
org.joda.time.DateTimeZone.setDefault(org.joda.time.DateTimeZone::UTC)
java.util.TimeZone.setDefault(java.util.TimeZone.getTimeZone('UTC'))
end
@pdswan
pdswan / example.js
Last active December 15, 2015 00:09
What's the proper way to wrap a possibly asynchronous function in an angular deferred? I have an external, callback based SDK which interacts with an http API. The first time I ask for resources, an http call is made. The second time the data is cached so the callback is called immediately. This is a simplified example.
var data
function possiblyAsync(callback) {
if (alreadyLoaded) {
callback(data)
} else {
asyncLoad(function(loadedData) {
data = loadedData
callback(data)
})
}
@pdswan
pdswan / not-working.js
Last active December 14, 2015 19:19
express cors
var express = require('express')
, cors = require('connect-xcors')({
headers: ['X-Requested-With', 'X-HTTP-Method-Override', 'Content-Type', 'Accept', 'Authorization']
})
var app = express()
// OPTIONS requests don't get handled because
// cors is hidden behind the routing middleware
// and '/' is only accessible via GET
@pdswan
pdswan / MRI_1.9.2-p247_backtrace
Created November 18, 2012 00:16
Rubinius vs MRI Socket Errors
IOError:
closed stream
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/openssl/buffering.rb:174:in `sysread_nonblock'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/openssl/buffering.rb:174:in `read_nonblock'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/protocol.rb:141:in `rbuf_fill'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/http.rb:2770:in `read_chunked'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/http.rb:2750:in `read_body_0'
/Users/pdswan/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/net/http.rb:2710:in `read_body'
@pdswan
pdswan / vagrant.rb
Created August 27, 2012 17:18
Vagrant capistrano config
require 'ostruct'
class VagrantSSHConfig < OpenStruct
def initialize
super parse_options(`vagrant ssh-config`)
end
private
def parse_options(option_string)
@pdswan
pdswan / mailing_list_updater_unit_test.rb
Created June 1, 2012 18:08
Testing Classes for Active Record Callbacks
require 'test/unit'
require 'mocha'
# assumes MailingListUpdater is defined / exposed at the top level. this is not the case
# for the code in this gist.
class MailingListUpdaterTest < Test::Unit::TestCase
test "#update_mailing_list calls enqueue_for_mailing_list_update when a user is present" do
user = mock('User', :enqueue_for_mailing_list_update => true)
record = stub('Record')
@pdswan
pdswan / gist:2475472
Created April 24, 2012 01:51
Console for Sinatra
irb -r path_to_app.rb
@pdswan
pdswan / gist:2475468
Created April 24, 2012 01:50
Deploy branch to heroku
git push heroku branch_name:master
@pdswan
pdswan / headers.txt
Created January 4, 2012 03:24
Open Congress Error
*Response Headers*
Date Wed, 04 Jan 2012 03:14:33 GMT
Server Apache/2.2.3 (CentOS)
X-Powered-By Phusion Passenger (mod_rails/mod_rack) 3.0.2
X-Runtime 0.976903
Status 500
Vary Accept-Encoding,User-Agent
Content-Encoding gzip
Content-Length 1267
Content-Type text/html; charset=UTF-8
@pdswan
pdswan / .watchr
Created March 22, 2011 01:18
Basic Watchr Rules and Actions
def run_spec(file)
unless File.exist?(file)
puts "#{file} does not exist"
return
end
puts "Running #{file}"
system "bundle exec rspec #{file}"
puts
end