Skip to content

Instantly share code, notes, and snippets.

@madwork
madwork / install.sh
Last active August 29, 2015 14:00
Max OS X 10.9 + chruby + Ruby 2.1.1
brew install wget chruby openssl libyaml libxml2
# https://github.com/sstephenson/ruby-build/issues/550#issuecomment-40863879
cd /usr/local
git checkout 0181c8a Library/Formula/readline.rb
brew install readline
export ARCHFLAGS="-arch x86_64"
export CFLAGS="-g -O2"
export LDFLAGS="-L/usr/local/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/openssl/lib"
@madwork
madwork / utf8-sanitizer.rb
Last active August 29, 2015 14:02
Utf8 Sanitizer Middleware
# Utf8Sanitizer
# Rack/Ruby on Rails: ArgumentError: invalid byte sequence in UTF-8
# raise 400 error
# http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/
class Utf8Sanitizer
SANITIZE_ENV_KEYS = %w(
HTTP_REFERER
PATH_INFO
REQUEST_URI
REQUEST_PATH
@madwork
madwork / caesar_cipher.rb
Created April 17, 2015 17:40
Caesar Cipher Implementation in Ruby
# CaesarCipher
# Example:
# cipher = CaesarCipher.new "Ruby is a dynamic, open source programming language!"
# cipher.encrypt(13)
# => "ehol vf n qlanzvp, bcra fbhepr cebtenzzvat ynathntr!"
class CaesarCipher
attr_accessor :sentence
def initialize(sentence)
@sentence = sentence
@madwork
madwork / keybase.md
Created July 1, 2015 10:34
keybase prove github madwork

Keybase proof

I hereby claim:

  • I am madwork on github.
  • I am madwork (https://keybase.io/madwork) on keybase.
  • I have a public key whose fingerprint is E0C0 7490 6640 693C 8AEC BD3E 6BF4 9CEC 089D 7137

To claim this, I am signing this object:

@madwork
madwork / app.html
Created September 9, 2015 09:20
Angular 1.3 Bind Once
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bind Once</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.13/angular-sanitize.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.13/angular.min.js"></script>
</head>
<body ng-app>
<p><input type="text" ng-model="foo"></p>
@madwork
madwork / .pryrc
Created September 24, 2015 15:31
Pry confie file
require 'benchmark'
# sublime text as editor
Pry.config.editor = 'subl -w'
Pry.config.color = true
Pry.config.pager = true
# alias 'q' for 'exit'
Pry.config.commands.alias_command 'q', 'exit-all'
@madwork
madwork / thin.god
Created April 12, 2012 14:24
Config file for god that configures watches for each instance of a thin server
# == God config file
# http://god.rubyforge.org/
# Authors: Gump and michael@glauche.de
#
# Config file for god that configures watches for each instance of a thin server for
# each thin configuration file found in /etc/thin.
# In order to get it working on Ubuntu, I had to make a change to god as noted at
# the following blog:
# http://blog.alexgirard.com/ruby-one-line-to-save-god/
#
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs << 'lib'
t.libs << 'spec'
t.pattern = 'spec/**/*_spec.rb'
t.verbose = true
t.warning = false
end
@madwork
madwork / gist:3974516
Created October 29, 2012 16:10
Urlize
module Urlize
def urlize
self.gsub(/[^[:alnum:]\-\s\_]/, '').split(/[\s\-\_]+/).delete_if{|i| i.empty?}.join('-').downcase
end
end
@madwork
madwork / manager.rb
Created October 31, 2012 16:23
Manager
class Manager
def self.configure(&block)
::Template.new(&block)
end
end
class Template
attr_reader :assets, :events
def initialize(&block)