Skip to content

Instantly share code, notes, and snippets.

Sam Goldman samwgoldman

Block or report user

Report or block samwgoldman

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
samwgoldman / request.json
Last active Aug 29, 2015
Example of nested errors in JSON
View request.json
"object": {
"groups": [
"options": [
samwgoldman / Maybe.h
Created Mar 12, 2014
Maybe monad-alike in Objective-C using parts of ReactiveCocoa and libextobjc concrete protocols
View Maybe.h
#import <Foundation/Foundation.h>
#import <libextobjc/EXTConcreteProtocol.h>
@protocol Maybe <NSObject>
- (id<Maybe>)map:(id (^)(id value))block;
- (id<Maybe>)flattenMap:(id<Maybe> (^)(id value))block;
- (id<Maybe>)orElse:(id)defaultValue;
- (id)getOrElse:(id)defaultValue;
View jsbin.ucanam.html
<!DOCTYPE html>
<script src=""></script>
<script src=""></script>
<script src=""></script>
<script type="text/x-handlebars" data-template-name="application">
{{view Ember.Select content=options value=computed}}
View gist:6557156
class Foo
def bar
set_trace_func proc { |event, file, line, id, binding, classname|
if event == "call"
View gist:6458771
require "active_support/all"
now = Date.current
# => Thu, 05 Sep 2013
now - 2.months - 5.days + 2.months + 5.days == now
# => false
now - 2.months - 5.days + 5.days + 2.months == now
# => true
View gist:5789657
require "active_record" # 4.0.0.rc2
require "minitest/autorun"
class Migrate < ActiveRecord::Migration
self.verbose = false
def up
create_table(:memberships) do |t|
View ar_relation_scope.rb
require "active_record"
require "rspec/autorun"
class Migrate < ActiveRecord::Migration
self.verbose = false
def up
create_table(:tasks) do |t|
t.references :project, null: false
samwgoldman / coffee-script-redux.js
Created Nov 3, 2012
Browser-compatible single-file CoffeeScriptRedux
View coffee-script-redux.js
This file has been truncated, but you can view the full file.
(function(){var require = function (file, cwd) {
var resolved = require.resolve(file, cwd || '/');
var mod = require.modules[resolved];
if (!mod) throw new Error(
'Failed to resolve module ' + file + ', tried ' + resolved
var cached = require.cache[resolved];
var res = cached? cached.exports : mod();
return res;
samwgoldman / gist:3904149
Created Oct 17, 2012
How to use VCR even if your tests depend on, +/- 100 days/seconds.
View gist:3904149
VCR.configure do |config|
config.cassette_library_dir = "spec/cassettes"
config.hook_into :faraday
# If a test uses a value that depends on the current time, then the recording
# become stale as time marches on.
# This setting will replace specific "absolute time" values with time-relative
# keywords when the recording is first made.
# On subsequent replayes, the time-relative keywords are substituted with
# the appropriate value, so the value is relative tot he current time.
samwgoldman /
Created Oct 16, 2012
Async testing pattern. Better way?
class App.Components.Select extends Backbone.View
initialize: ->
@labelField = @options.labelField
@valueField = @options.valueField
@collection.bind("reset", => @render)
render: ->
You can’t perform that action at this time.