Skip to content

Instantly share code, notes, and snippets.

@vijaydev
vijaydev / Rails
Created November 21, 2010 18:41
Rails
Rails 3 no longer auto loads the lib folder. We can make it auto load the lib folder by putting it in config/application.rb like thus: config.autoload_paths += %W(#{config.root}/lib)
All strings are HTML escaped by default in Rails 3. Need to call html_safe on strings which we know are sure to be safe to display the HTML properly.
Reserved words: "config", "process"
Specifying RailsEnv in Apache configuration (vhost/httpd.conf etc) for Passenger 3.0.0 does not work in Rails 3. Changing that to RakeEnv does the trick. This was fixed in Passenger 3.0.1.
To add the default integer primary key to a table which was created with :id => false setting, we can do add_column :table_name, :id, :primary_key
@vijaydev
vijaydev / gist:713678
Created November 24, 2010 13:53
Unix/Linux
Use ssh-copy-id to install your public key in a remote machine's authorized_keys. Also takes care of the permissions of the remote user's .ssh and .ssh/authorized_keys.
ssh -t reachable_host ssh unreachable_host. Enables to connect to a host unreachable from current network but reachable from reachable_host's network.
To navigate to a directory, run a command and get back: (cd /to/dir && cmd_to_run)
To rip audio out of a video file: mplayer -ao pcm -vo null -vc dummy -dumpaudio -dumpfile <out_file> <in_file>
Rsync: rsync --recursive -avz -e "ssh -p 2020" user@machine:/path dest
git remote prune origin - to remove a deleted remote branch.
git rebase -i - interactive rebase with options to pick, squash, discard and reorder commits.
git update-index --assume-unchanged
Undoing a merge:
$ git pull $REMOTE $BRANCH
# uh oh, that wasn't right
$ git reset --hard ORIG_HEAD
# all is right with the world
@vijaydev
vijaydev / gist:755496
Created December 26, 2010 16:18 — forked from lifo/gist:31208
An Example Rails 3 Application Template
run "rm public/index.html"
generate(:scaffold, "item name:string")
route "root :to => 'items#index'"
rake("db:migrate", "production")
gem 'ruby-openid'
gem 'will-paginate', :git => 'git://github.com/mislav/will_paginate.git'
add_source "http://code.whytheluckystiff.net"
gem "hpricot", :version => '0.6'
"ensure" makes sure code is run regardless of begin-rescue outcome. (equivalent of Java finally)
Pass a number parameter to Array#first and Array#last to get the first n or the last n values.
http://rubyquicktips.tumblr.com/post/870337608/grep-anything-from-your-enumerables
rvm use ree-1.8.7-2010.02@global
rvm gemset create rails2310
gem install rails -v=2.3.10
Dir[File.join(File.dirname(__FILE__), '..', 'vendor', 'gems', 'hoptoad_notifier-*')].each do |vendored_notifier|
$: << File.join(vendored_notifier, 'lib')
end
SubdomainFu.configure do |config|
config.tld_size = 1
config.mirrors = %w( support blog www billing help api )
config.preferred_mirror = 'www'
end
@vijaydev
vijaydev / Vim Tricks
Created April 27, 2011 12:51
Vim Tricks
.s@\(\d\+\)@\=(submatch(1) + 17)@
Search for numbers and replace them with results of expressions involving them. submatch(1) is \1 (groups in regexes)
#@data = Hash.new { |h,k| h[k] = Hash.new { |h1,k1| h1[k1] = Array.new(8) {0} } } #Interesting