Skip to content

Instantly share code, notes, and snippets.

@dsisnero
dsisnero / graph_models.rb
Created May 12, 2010 20:03
Graph of data mapper
#!/usr/bin/env ruby -Ku
# encoding: utf-8
require 'rubygems'
require 'dm-core'
require 'graphviz'
def recursive_require(dir)
Dir.glob("#{dir}/**/*.rb").sort.each { |file| require file }
#!/usr/bin/env ruby -Ku
# encoding: utf-8
require 'pp'
require 'rubygems'
require 'dm-core'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite3::memory:')
#!/usr/bin/env ruby -Ku
# encoding: utf-8
require 'rubygems'
require 'dm-core'
require 'dm-migrations'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite3::memory:')
#!/usr/bin/env ruby -Ku
require 'rubygems'
require 'dm-core'
require 'dm-sweatshop'
require 'bacon'
#DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite3::memory:')
include 'dm-is-list'
class Node
include DataMapper::Resource
property :id, Serial
# other properties...
has n, :parts
end
class AppBuilder < Rails::AppBuilder
#include Thor::Actions
#include Thor::Shell
@@versions = %w( 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.6 )
def test
append_test_gems
rspec
@dsisnero
dsisnero / gist:906649
Created April 6, 2011 22:09
pathname stuff
require 'pathname'
require 'fileutils'
require 'set'
base = Pathname('/newdir/obsolete')
old_dirs = Set.new
Pathname.glob('dir/*/obsolete/*').each do |pn|
dir, file = pn.split
customer = dir.parent.basename
@dsisnero
dsisnero / test.rb
Created October 7, 2011 19:18
async_fetch
def async_fetch(url)
f = Fiber.current
http = EventMachine::HttpRequest.new(url).get :timeout => 10
http.callback { f.resume(http) }
http.errback { f.resume(http) }
return Fiber.yield
end
@dsisnero
dsisnero / open_to_path
Created July 5, 2012 18:41
File.open with to_path
def my_open(filename)
filename = filename.to_path if filename.respond_to?(:to_path)
filename = filename.to_str
# ...
end
module Functional
module_function
def unary
->(a,*b){ a}
end
def binary
->(a,b,*c){ [a,b]}