Skip to content

Instantly share code, notes, and snippets.

Array::partition = (callback) ->
[positive, negative] = [[], []]
for item, index in @
(if callback item, index then positive else negative).push item
[positive, negative]
@bnadlerjr
bnadlerjr / test_helper.rb
Created February 16, 2013 14:38
Basic test helper for Ruby
ENV['RACK_ENV'] = 'test'
require 'bundler/setup'
require 'simplecov'
SimpleCov.start do
add_filter "/test/"
end
require 'test/unit'
@bnadlerjr
bnadlerjr / sequel.rake
Created February 16, 2013 14:26
Sequel rake tasks.
namespace :db do
require 'sequel'
Sequel.extension :migration
DB = Sequel.connect(ENV['DATABASE_URL'] || 'sqlite://db/development.db')
desc 'Migrate the database to latest version'
task :migrate do
Sequel::Migrator.run(DB, 'db/migrate')
puts '<= db:migrate executed'
@bnadlerjr
bnadlerjr / sprockets.rake
Last active June 9, 2016 20:48
Sprockets precompile Rake task
namespace :assets do
require 'sprockets'
require 'uglifier'
require 'yui/compressor'
sprockets = Sprockets::Environment.new { |env| env.logger = Logger.new(STDOUT) }
sprockets.css_compressor = YUI::CssCompressor.new
sprockets.js_compressor = :uglifier
sprockets.append_path File.expand_path('../lib/web/assets', __FILE__)
output_path = File.expand_path('../lib/web/public', __FILE__)
require "sprockets"
require "sinatra/base"
class SprocketsMiddleware
attr_reader :app, :prefix, :sprockets
def initialize(app, prefix)
@app = app
@prefix = prefix
@sprockets = Sprockets::Environment.new
class EmployeeTest < Test::Unit::TestCase
let(:email) { Employee.new('jdoe@example.com') }
def employee_has_an_email_test
assert_equal('jdoe@example.com', employee.email)
end
end
---
title: Welcome to Middleman
---
%h1 Dashboard
%h2 Net Income
%table
%caption Net Income Over Time
%thead
%th Month Ending
@bnadlerjr
bnadlerjr / callbacks.rb
Last active December 29, 2020 04:54
Multiple callbacks as blocks
class CallbackList
NOOP_BLOCK = ->(*) { :ok }
def self.[](block)
block ||= NOOP_BLOCK
new.tap { |proxy| block.call(proxy) }
end
def respond_with(callback, *args)
callbacks.fetch(callback, NOOP_BLOCK).call(*args)
end
@bnadlerjr
bnadlerjr / validator.rb
Created July 29, 2012 19:07
Validator Example
require 'validus'
class PersonValidator
include Validus
def initialize(attributes)
@attributes = attributes
end
def validate