Skip to content

Instantly share code, notes, and snippets.

class Optional
private_class_method :new
def self.maybe(possible)
possible.nil? ? absent : of(possible)
end
def self.absent
None.new
end
require 'active_record'
require 'logger'
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'
ActiveRecord::Base.connection.instance_eval do
create_table(:starting_goalies) do |t|
t.string :status
end
end
#!/bin/bash
set -e
cp previous.key intermediate.key
cp current.key previous.key
mv intermediate.key current.key
service nginx reload
def evolve_cell(cell, neighbours)
if cell == 1
if neighbours.inject(&:+) == 2 || neighbours.inject(&:+) == 3
1
else
0
end
else
if neighbours.inject(&:+) == 3
1
class Cell
CHARACTERS = { :live => 'X', :dead => 'O' }
attr_reader :live
def self.live
new(:live)
end
def self.dead
class Cell
def self.random
number = Random.rand(100)
if number > 50
live
else
dead
end
end
@nwjsmith
nwjsmith / vansible.sh
Created July 23, 2014 15:43
A helper script for using ansible with Vagrant
#!/bin/bash
set -e
#!/bin/bash
set -e
ansible $@ -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory --private-key=~/.vagrant.d/insecure_private_key -u vagrant
@nwjsmith
nwjsmith / psych.patch
Last active August 29, 2015 14:01
psych.patch
diff --git a/lib/psych/handlers/document_stream.rb b/lib/psych/handlers/document_stream.rb
index e429993..25d10fb 100644
--- a/lib/psych/handlers/document_stream.rb
+++ b/lib/psych/handlers/document_stream.rb
@@ -18,5 +18,19 @@ module Psych
@block.call pop
end
end
+
+ class StrictDocumentStream < DocumentStream
@nwjsmith
nwjsmith / 01_query.go
Last active August 29, 2015 13:57
An exercise to the viewer
package main
import (
"fmt"
"math/rand"
"time"
)
type Conn struct {
num int
require 'spec_helper'
require 'open3'
describe 'unnest' do
it 'can unnest nested class definitions in a file' do
example_input = <<-EOF
module A::B
class C::D::E < F::G
def initialize(foo)
@foo = foo