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
samwgoldman / request.json
Last active Aug 29, 2015
Example of nested errors in JSON
View request.json
{
"object": {
"groups": [
{
"options": [
{
},
{
}
],
@samwgoldman
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>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.0.2.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
</head>
<body>
<script type="text/x-handlebars" data-template-name="application">
{{view Ember.Select content=options value=computed}}
View gist:6557156
class Foo
def self.bar
end
def bar
end
end
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(:profiles)
create_table(:networks)
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(:projects)
create_table(:tasks) do |t|
t.references :project, null: false
@samwgoldman
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
samwgoldman / gist:3904149
Created Oct 17, 2012
How to use VCR even if your tests depend on Date.today/Time.now, +/- 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
samwgoldman / implementation.js.coffee
Created Oct 16, 2012
Async testing pattern. Better way?
View implementation.js.coffee
class App.Components.Select extends Backbone.View
template: HandlebarsTemplates.select
initialize: ->
@labelField = @options.labelField
@valueField = @options.valueField
@collection.bind("reset", => @render)
render: ->
You can’t perform that action at this time.