Skip to content

Instantly share code, notes, and snippets.

Avatar

Zheng Jia zhengjia

  • Sport Ngin
  • Minneapolis
View GitHub Profile
View capybara cheat sheet
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@zhengjia
zhengjia / definition.rb
Created Jan 6, 2012
Vagrant box with 'ubuntu' as the default user
View definition.rb
# modify from veewee
require 'digest/md5'
CURRENT_DIR = File.dirname(__FILE__)
PRESEED_MD5 = "#{Digest::MD5.file("#{CURRENT_DIR}/preseed.cfg").hexdigest}"
Veewee::Session.declare( {
:boot_cmd_sequence => [
"<Esc><Esc><Enter>",
"/install/vmlinuz ",
"noapic ",
View webrat cheatsheet
== Simulating browser events
# GET a URL, following any redirects, and making sure final page is successful
visit "/some/url"
# In general, elements can be located by their inner text, their 'title'
attribute, their 'name' attribute, and their 'id' attribute.
# They can be selected using a String, which is converted to an escaped Regexp
effectively making it a substring match, or using a Regexp.
# An exception is that using Strings for ids are compared exactly (using ==)
View backup.sh
ROOT_BACKUP_DIR=/media/RD1000/backup
# A list of directories to back up. Put each on its own line
DIR_TO_BACKUP=`cat <<EOF
/home/j/backup-sync
/var/www
EOF`
# The rsync command with options
BACKUP_CMD='rsync -Rvurogptl'
@zhengjia
zhengjia / gist:3185447
Created Jul 27, 2012 — forked from botchagalupe/gist:737501
Setup a Three Server HAPROXY/APACHE2 Setup (New)
View gist:3185447

Setup a Three Server HAPROXY/APACHE2 Setup

Ubuntu Image used in class

image: ami-2e7e8747

Notes:  For Chef Clinet install use "sudo gem install chef --no-ri --no-rdoc" 

        Instead of knife ec2 .. use 
@zhengjia
zhengjia / http_parser.rb
Created May 30, 2012 — forked from postmodern/http_parser.rb
A pure Ruby HTTP parser using Parslet.
View http_parser.rb
require 'parslet'
require 'pp'
class HTTPParser < Parslet::Parser
#
# Character Classes
#
rule(:digit) { match('[0-9]') }
rule(:digits) { digit.repeat(1) }
rule(:xdigit) { digit | match('[a-fA-F]') }
@zhengjia
zhengjia / gist:2664048
Created May 12, 2012
variable and thread
View gist:2664048
require 'thread'
@value = 1
@cond = ConditionVariable.new
@mutex = Mutex.new
t = Thread.new do
value = @value
@mutex.synchronize do
while true
STDOUT.puts value
@zhengjia
zhengjia / hack.sh
Created Mar 31, 2012 — forked from erikh/hack.sh
OSX For Hackers
View hack.sh
#!/usr/bin/env sh
##
# This is script with usefull tips taken from:
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# install it:
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh
#
View splat.rb
def match(path, *rest)
puts path.inspect
puts rest.inspect
end
a=[:inspect]
match(*a, {:via => :get})
@zhengjia
zhengjia / rbenv-install-system-wide.sh
Created Dec 24, 2011
rbenv install and system wide install on Ubuntu 10.04 LTS.
View rbenv-install-system-wide.sh
# Update, upgrade and install development tools:
apt-get update
apt-get -y upgrade
apt-get -y install build-essential
apt-get -y install git-core
# Install rbenv
git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
# Add rbenv to the path:
You can’t perform that action at this time.