たこ焼き仮面ことひげの山男こと@tenderloveことAaron PattersonさんがRailsのコアチームリストの様なものがRuby本体にないのはイカン!ということでRuby Committersというサイトを作りました。

そこでデザインを募集するためにデザインコンテストを開催しています。KUROIGAMENというプロジェクトを始めた@machidaさんのデザインテロの標的にぴったりということで@machidaさんも応募しています。

デザイン一覧

http://tenderlovemaking.com/entries/

@machidaさんのデザイン

Ruby Committers

締切りは明日。

Issues - tenderlove/rubycommitters.org - GitHub

Issues - tenderlove/rubycommitters.org - GitHub

ここに投票してくれやコラー!

ってのはいやらしいすぎるので冗談ですが、みなさんも応募されたデザイン一覧を眺めて良いと思ったモノに投票したらおもろいかと思います。

僕の見た感じでは、コレコレコレのどれかかなーと思います。@machidaさんのはアクが強いので好き嫌い分かれそうですが、Rubyコミッターの人達のプレミアム感を出すためにヨーロッパの古いホテルみたいな雰囲気にしてるというアイデアが面白いので好きです。MATZILLAもオモロイですけどね!

まだコミットしては無いんですが、LokkaのMac用ビルドを作ってみました。Dropboxに置いてあるので、Macをお持ちの方は記をダウンロード・解凍して起動し、http://localhost:9646/ でLokkaが動いてるかどうか試していただけるとありがたいです。

http://dl.dropbox.com/u/188423/Lokka.zip

特にXcodeをインストールしてない方の情報が知りたい!動いた!とか動かねえ!とかあったら@komagataや#lokkacmsにメッセージいただけるとうれしいです。

多分Snow Leopard、あわよくばLeopardで動くかもしれません。

BSD系ではpgrep, pkill, pfindはproctoolsというパッケージ名だそうです。

% brew install proctools
% pgrep ruby 
77785

rubygemsを見ていて、ubygems.rbって変なファイルがあるなと思って開いたら・・・

# This file allows for the running of rubygems with a nice
# command line look-and-feel: ruby -rubygems foo.rb

lib/ubygems.rb at from rubygems/rubygems - GitHub

ナイスハックwww

homebrewは元々自分のディレクトリ以外を汚さないように出来ているので好きな場所に置いてPATHを通す。

% curl http://github.com/mxcl/homebrew/tarball/master -LO
% tar zxf master
% mv mxcl-homebrew-348d28f ~/homebrew
# ~/.zshrc
export PATH=~/homebrew/bin:$PATH
% ls
% GEM_HOME=`pwd` gem list > /dev/null
% ls
cache          doc            gems           specifications

なにそれこわい。

gem environmentとかでも同様。

option + y

Macで動くアプリを作るのに真っさらなMac環境が必要だったのでVirtualboxでMacが動かないか格闘中。

mac_os_x_10_6 [実行中]

"Still waiting for root device"とひたすら出続けるだけで上手く行きませんな。ググッても出てくるのはWindowsでMacを動かそう系ばっかりなのでやり方が違うのかも?

他のソフトだったら動いたりするんですかね?

@dandasoに何故gitを使うのか、svnから移行するコストを払うに見合う嬉しさは何なのか聞かれた。

gitを使いこなしてる方々に取っては噴飯ものの解答だと思うが、俺はこう答えた。

「殆どのトラブルはcommit時に起こる。svnは1ステップで全員共通のリポジトリにcommitされるのでmergeやcommitは怖いが、gitはcommitした後にpushしないと他人に影響が出ない。だから気軽にcommitしたりmerge出来る。その違いが嬉しい。」

Snippet

LokkaにSnippet(スニペット)を追加しました。

Snippetとはテンプレート間で共有したい部品を入れておくものです。Pageも同じ用途に使えるのでWordPressではそれが常套手段っぽいですが、@machidaさんが

「PageはURLが存在するので直接アクセスできるのが気持ち悪い」

と言っていたのでSnippetという名前で別に用意しました。

komagata [p0t]

このブログで言えば、右のプロフィールの部分でSnipetを使っています。今まではPageの機能を使っていたので、プロフィール単体がURLを持っているので妙なページが存在することになっていました。

Snippetは好きに名前を付けられるのでテンプレ内では下記のようにかけます。

<%= Snippet.first(:name => 'about').body %>

モデルのユーティリティメソッド

今回、各モデル用にユーティリティメソッドを用意しました。そのユーティリティメソッドとは"そのクラスで一番使いそうなメソッドをクラス名と同名のメソッドとして用意したもの"です。それを使えば上記は下記のように書けます。

<%= Snippet('about').body %>

要はこれです。

Ruby - クラス名と同名の関数にデフォルト動作をさせるパターン - komagata [p0t]

同じように他のモデルにも用意されています。

<h2><%= Page('inquiry').title %></h2>

DataMapperのAPIを使えば何でも取れますが、テンプレートがスッキリするかなと。