Skip to content

Instantly share code, notes, and snippets.

---
standard: |
<VirtualHost *>
ServerName #{@domain}
ServerAlias www.#{@domain}
DocumentRoot /srv/http#{@location}#{@domain}/htdocs
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.#{@domain.gsub('.','\.')}
RewriteRule (.*) http://#{@domain}$1 [R=301,L]
#{@custom}
class Vhost
def initialize(args)
args.each do |k,v|
instance_variable_set "@#{k}", v
end
@type ||= 'standard'
# We need to wrap @location in slashes, but if it's root,
# we get // or ///, so we collapse multiple /s to a single /
@location = "/#{@location}/"
class Tree
def initialize*d;@d,=d;end
def to_s;@l||@r?"<#{@d},<#{@l}>,<#{@r}>>":@d;end
def total;(@d.is_a?(Numeric)?@d:0)+(@l?@l.total: 0)+(@r?@r.total: 0);end
def insert d
alias g instance_variable_get
p=lambda{|s,o|d.to_s.send(o,@d.to_s)&&
(g(s).nil??instance_variable_set(s,Tree.new(d)):g(s).insert(d))}
@d?p[:@l,:<]||p[:@r,:>]:@d=d
end
#!/usr/bin/env ruby
$LOAD_PATH << "/home/student/umlibbey/lib"
ENV['GEM_HOME'] = "/home/student/umlibbey/gems"
require 'rubygems'
require 'rack'
require 'cloudkit'
$LOAD_PATH << File.join(File.dirname(__FILE__),"lib")
class String
# Convert a CamelCase string (class name) into an underscorized
# not_camel_case string.
def underscorize
self.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
gsub(/([a-z\d])([A-Z])/,'\1_\2').
downcase
end
# abstract.rb
# Copyright 2009 Burke Libbey <burke@burkelibbey.org> under MIT license
#
# http://gist.github.com/91561
#
# Implements slightly Java-esque abstract classes in ruby,
# using painfully simple syntax.
#
# Usage:
#
class LinkedList
include Enumerable
def initialize(options)
@sorted = options.delete(:sorted) || false
@double = options.delete(:double) || false
@behaviour = options.delete(:behaviour)
@behaviour = :stack unless [:stack, :queue].include?(@behaviour)
class Table
def initialize
@widths = []
@data = []
yield self if block_given?
end
def headers(*headers)
@headers = headers
#
# zorkmech.rb
# ZorkMech
#
# Created by Burke Libbey on 11/04/09.
# Copyright (c) 2009 Chromium 53. All rights reserved.
#
begin
require 'rubygems'
~ % ps aux | grep Passenger
root 8397 0.0 0.1 19672 1840 pts/1 Sl 08:24 0:00 PassengerNginxHelperServer /usr/lib/ruby/gems/1.8/gems/
root 8407 2.3 1.6 55988 17260 pts/1 Sl 08:24 0:00 Passenger spawn server
burke 8583 0.0 0.0 7796 912 pts/1 R+ 08:24 0:00 grep Passenger
~ % sudo kill -HUP `cat /var/run/nginx.pid`
~ % ps aux | grep Passenger
root 8397 0.0 0.1 19672 1840 pts/1 Sl 08:24 0:00 PassengerNginxHelperServer /usr/lib/ruby/gems/1.8/gems/
root 8407 1.5 1.6 55988 17260 pts/1 Sl 08:24 0:00 Passenger spawn server
root 8660 0.0 0.1 19672 1916 ? Sl 08:24 0:00 PassengerNginxHelperServer /usr/lib/ruby/gems/1.8/gems/
root 8670 12.5 1.6 55992 17268 ? Rl 08:24 0:00 Passenger spawn server