Skip to content

Instantly share code, notes, and snippets.

require "rubygems"
require 'rspec/rails'
require 'kameleon'
require 'kameleon/ext/rspec/dsl'
require 'support/_support/helpers'
include Capybara::DSL
Capybara.default_selector = :css
Capybara.default_wait_time = 2
Capybara.default_driver = :selenium
@simon2k
simon2k / gist:2994758
Created June 26, 2012 09:55
rspec debugger
require 'ripl'
config.after(:each) do
if exception = example.instance_variable_get(:@exception)
save_and_open_page unless Capybara.current_driver == :selenium
Ripl.start :binding => binding
end
end
@simon2k
simon2k / gist:2250576
Created March 30, 2012 10:13
sokoban
# http://www.rubyquiz.com/quiz5.html
# SOKOBAN
# gem install highline
require 'highline/system_extensions'
include HighLine::SystemExtensions
class String
# define methods:
# crate? garage? wall? man?
{ 'crate?' => /o|\*/, 'garage?' => /\.|\*/,'man?' => /@|\+/, 'wall?' => /#/ }.
@simon2k
simon2k / gist:2247405
Created March 30, 2012 06:14
tmux - sample script
tmux new-session -s main -n "Finch & Gmail" -d
tmux split-window -v -t main
tmux split-window -h -t main:1.0
tmux split-window -h -t main:1.1
tmux send-keys -t main:1.0 'finch' C-m
tmux send-keys -t main:1.1 'w3m mail.google.com/mail/u/0/?ui=html' C-m
tmux send-keys -t main:1.3 'mocp' C-m
tmux new-window -n Browser -t main
tmux send-keys -t main:2 'w3m google.com' C-m
# set default prefix
set -g prefix C-w
unbind C-b
# set start index
set -g base-index 1
# default time to repeat
set -g repeat-time 1000
@simon2k
simon2k / IpCalculator.rb
Created March 17, 2012 19:06
IpCalculator
class Ip < Array
def initialize(arg)
case arg
when Array # array with octets
concat(arg)
when /(\d{1,3}\.){3}\d{1,3}/ # string with decimal address - splitted by dots
concat(arg.split('.')).map!(&:to_i)
when /\d{1,32}/ # string with binary address - not splitted by dots
concat(arg.scan(/\d{1,8}/).map { |oct| oct.to_i(2) })
else