JRubyをソースからインストール
ソースと取り寄せて、単純にantを実行するだけ。
Ubuntuの場合、antを実行しないとJRubyは動かないような気がする。
$ svn co http://svn.codehaus.org/jruby/trunk/jruby $ cd jruby $ ant $ cd .. $ sudo mv jruby /opt/jruby-1.1.7 $ sudo chown -R root:root /opt/jruby-1.1.7
JRubyを実行するために、/usr/bin/にシンボリックリンクを作成する。
またJRubyのバージョンを変えたときに楽するために、/opt/jrubyのシンボリックリンクを作成する。
$ sudo ln -s /opt/jruby-1.1.7 /opt/jruby $ sudo ln -s /opt/jruby/bin/jruby /usr/bin/jruby $ sudo ln -s /opt/jruby/bin/jirb /usr/bin/jirb
コマンドラインからRubyやRailsを実行するのにJRubyを使う場合は、シンボリックリンクを作成する。
これをやっておかないと、rakeとかをするとき一々jrubyを指定しないといけないといけないので面倒。
$ sudo ln -s /usr/bin/jruby /usr/bin/ruby $ sudo ln -s /usr/bin/jirb /usr/bin/irb
zsh
# users generic .zshrc file for zsh(1) ## Environment variable configuration # # LANG # export LANG=ja_JP.UTF-8 ## Default shell configuration # # set prompt # autoload colors colors case ${UID} in 0) PROMPT="%B%{${fg[red]}%}%/#%{${reset_color}%}%b " PROMPT2="%B%{${fg[red]}%}%_#%{${reset_color}%}%b " SPROMPT="%B%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b " [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') ${PROMPT}" ;; *) PROMPT="%{${fg[red]}%}%/%%%{${reset_color}%} " PROMPT2="%{${fg[red]}%}%_%%%{${reset_color}%} " SPROMPT="%{${fg[red]}%}%r is correct? [n,y,a,e]:%{${reset_color}%} " [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="%{${fg[cyan]}%}$(echo ${HOST%%.*} | tr '[a-z]' '[A-Z]') ${PROMPT}" ;; esac # auto change directory # setopt auto_cd # auto directory pushd that you can get dirs list by cd -[tab] # setopt auto_pushd # command correct edition before each completion attempt # setopt correct # compacked complete list display # setopt list_packed # no remove postfix slash of command line # setopt noautoremoveslash # no beep sound when complete list displayed # setopt nolistbeep ## Keybind configuration # # emacs like keybind (e.x. Ctrl-a goes to head of a line and Ctrl-e goes # to end of it) # bindkey -e # historical backward/forward search with linehead string binded to ^P/^N # autoload history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "^p" history-beginning-search-backward-end bindkey "^n" history-beginning-search-forward-end bindkey "\\ep" history-beginning-search-backward-end bindkey "\\en" history-beginning-search-forward-end ## Command history configuration # HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data ## Completion configuration # fpath=(~/.zsh/functions/Completion ${fpath}) autoload -U compinit compinit ## zsh editor # autoload zed ## Prediction configuration # #autoload predict-on #predict-off ## Alias configuration # # expand aliases before completing # setopt complete_aliases # aliased ls needs if file/dir completions work alias where="command -v" alias j="jobs -l" case "${OSTYPE}" in freebsd*|darwin*) alias ls="ls -G -w" ;; linux*) alias ls="ls --color" ;; esac alias la="ls -a" alias lf="ls -F" alias ll="ls -l" alias du="du -h" alias df="df -h" alias su="su -l" case "${OSTYPE}" in darwin*) alias updateports="sudo port selfupdate; sudo port outdated" alias portupgrade="sudo port upgrade installed" ;; freebsd*) case ${UID} in 0) updateports() { if [ -f /usr/ports/.portsnap.INDEX ] then portsnap fetch update else portsnap fetch extract update fi (cd /usr/ports/; make index) portversion -v -l \< } alias appsupgrade='pkgdb -F && BATCH=YES NO_CHECKSUM=YES portupgrade -a' ;; esac ;; esac ## terminal configuration # unset LSCOLORS case "${TERM}" in xterm) export TERM=xterm-color ;; kterm) export TERM=kterm-color # set BackSpace control character stty erase ;; cons25) unset LANG export LSCOLORS=ExFxCxdxBxegedabagacad export LS_COLORS='di=01;34:ln=01;35:so=01;32:ex=01;31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' zstyle ':completion:*' list-colors \ 'di=;34;1' 'ln=;35;1' 'so=;32;1' 'ex=31;1' 'bd=46;34' 'cd=43;34' ;; esac # set terminal title including current directory # case "${TERM}" in kterm*|xterm*) precmd() { echo -ne "\033]0;${USER}@${HOST%%.*}:${PWD}\007" } export LSCOLORS=exfxcxdxbxegedabagacad export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' zstyle ':completion:*' list-colors \ 'di=34' 'ln=35' 'so=32' 'ex=31' 'bd=46;34' 'cd=43;34' ;; esac ## load user .zshrc configuration file # [ -f ~/.zshrc.mine ] && source ~/.zshrc.mine
ユーザ認証プラグイン
restful-authenticationの使い方 基本編
http://www.func09.com/wordpress/archives/280
ActiveRecordでデータが変更されているかチェックする
RailsMLで便利そうな機能があったのでメモ
2.1.1 以降なら以下のような感じで調べられると思います。 user = User.first => #<User id: 1, name: "foo"> user.changed? => false user.name = "bar" => "bar" user.changed? => true user.name_was => "foo" user.changes => {"name"=>["foo", "bar"]} user.name_change => ["foo", "bar"] user.save => true user.changed? => false
バージョンを指定したAPIマニュアルの作成方法
% rake rails:freeze:gems VERSION=1.2.3 % rake doc:rails % rm -fr vendor/rails % mkdir -p ~/railsapi % mv doc/api ~/railsapi/1.2.3
http://d.hatena.ne.jp/xibbar/20080226/1203970543
普通にAPIドキュメントを作るのと同じだけど、VERSIONを指定するとそのバージョンのRailsがvendor/railsにコピーされる。
あとUTF8化にする内容がここにあった。
http://rails.takeda-soft.jp/blog/show/163
一日以内に更新されたファイルを探す
% find /dev -mtime -1