View markov.rb
1 2 3 4 5 6 7 8 9 10
# Markov Chain generator from a text file.
#
# Example:
# source = Markov::FileSource.new('jackson.txt')
# chain = Markov::Chain.new(source)
#
# 10.times do
# puts chain.generate_uniq
# end
#
View markov.rb
1 2 3 4 5 6 7 8 9
# Get phrases
phrases = File.readlines('phrases.txt')
.map { |p| p.gsub(/["()*]/, '') }
.map { |p| p.gsub(/ +/, ' ').strip }
.reject { |p| p.split(' ').size < 2 }
.uniq
 
# Get first words
starters = phrases.map { |p| p.split(' ').first }
View gif_processes.rb
1 2 3 4 5 6 7 8 9 10
# lib/addons/carrierwave/gif_processes.rb
#
# Addons to CarrierWave to process GIF files with RMagick.
#
# Example:
#
# class AvatarUploader < CarrierWave::Uploader::Base
# include CarrierWave::GifProcesses
#
# version :medium do
View ip.sh
1 2 3 4 5 6 7 8
# Install: place this in your `~/bin/` and call it `ip` for example.
#
# Usage:
# $ ip
# 192.168.1.42
# 242.242.42.89
ipconfig getifaddr en0
curl ipecho.net/plain;echo
View email_with_name.rb
1 2 3 4 5 6 7 8 9 10
# lib/email_with_name.rb
module EmailWithName
def email_with_name(email, name)
name = name.gsub(/"<>/, '')
"#{name} <#{email}>"
end
end
 
# app/mailers/application_mailer.rb
class ApplicationMailer < ActionMailer::Base
View bmark.rb
1 2 3 4 5 6 7 8 9 10
require 'benchmark'
 
def bmark(iterations, benches)
size = benches.keys.map(&:length).sort.last
Benchmark.bm(size) do |x|
benches.each do |key, value|
x.report(key) do
iterations.times { value.call }
end
end
View jbuilder_prettify.rb
1 2 3 4 5 6 7 8 9 10
require "jbuilder"
 
# Enable prettification in your `.jbuilder` files
# Via https://github.com/rails/jbuilder/issues/195#issuecomment-44440569
#
# Example:
# json.prettify! if params[:pretty] == "1"
#
class Jbuilder
# Enable or disable prettification
View currency_by_ip.rb
1 2 3 4 5 6 7 8 9 10
# Detect currency by IP address.
#
# Requires the GeoIP gem and a `lib/geo/GeoIP.dat` file with geographic info.
# See https://github.com/cjheath/geoip
#
# Example:
#
# require "geoip"
# CurrencyByIP.new("78.193.246.42").currency => "EUR"
#
View iso
1 2 3 4 5 6 7 8 9 10
#!/bin/sh
# Create disk images
#
# Put this in ~/bin/iso and add ~/bin/ to your $PATH, then run `iso`.
 
set -e
 
if [ "$1" ] && [ "$2" ]; then
diskutil unmountDisk "$1"
echo "Creating image at $2. Press ctrl-t to see progress."
Something went wrong with that request. Please try again.