RSpec on Rails を使う

準備

% sudo gem install diff-lcs redgreen ruby-snarl ZenTest launchy rspec webrat autotest_screen --no-ri --no-rdoc

インストール

%  script/plugin install git://github.com/dchelimsky/rspec.git
% script/plugin install git://github.com/dchelimsky/rspec-rails.git
% script/generate rspec

Railsのバージョンを上げたら、上記のコマンドを実行しないとエラーが出るメソッドがあるので注意。

Rails2.2.2でエラーで動かなかった

vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb:4:
undefined method `cache_template_extensions=' for
ActionView::Base:Class (NoMethodError)

というエラーが出てテストが実行できなかった。
該当箇所をコメントアウトしても今のところ問題は起きていないので、このまま続けてみようと思う。

#ActionView::Base.cache_template_extensions = false

Growlと連携

まず、Growlの設定で「ネットワーク」の「受信される通知を開く」にチェックを入れる。

あと、growlnotify をインストールしていなかったらインストールする。Growl-1.1.4.dmg をマウントしたら、

% cd /Volumes/Growl-1.1.4/Extras/growlnotify
% sudo ./install.sh

という感じでインストールできます。

あとは、autotest の設定ファイルを ~/.autotest に記述する。growlとautotestを連携させる – Hello, world! – s21g の通りに設定させてもらう。必要あるか分からないけど、一応 Growl の再起動をして試したところ無事動作しました。

動かなかったら、export RSPEC=true をする必要がある。

RSpec on Rails を使う

美術展二つ

 昼下がり、品川にある原美術館で開催されていた、ジムランビーのアンノウンプレジャーズを観にいきました。ジムランビーを知っていたわけではないけれど、ネットで見かけて面白そうだったので。

 とりあえずテープ。ドアとかも、空間がよくわからなくなるよーな感覚が楽しいです。ボリュームは少ないので、一人より二人で行ったほうが楽しいかも。複数人なら、中にあるレストランで食事をしてくるとよいかもしれない感じです(・ω・) 原美術館自体がすごいいいところでした。行きやすいなら、是非いくといいと思います!オススメです。

 その後、東京都美術館で昨日から始まったアーツ&クラフツ展を観てきました。こっちは、生活寄りな芸術の展示。産業革命後の大量生産で粗悪になっていった品々を、デザインで価値を付加していこう。みたいなのが、アーツ&クラフツなんだそうです。

 現代では、家具や食器ってデザインを気にするのは当たり前なので、当時の感覚はあまり想像が出来ません。とはいえ、自分がどちらかというとシンプルなものが好きなので、芸術といったら非日常的な何かに結びつけたいって個人的には思います。そんな感じなので、個人的には全体的にはイマイチ楽しめませんでした。ただ、日本のものも多少あって、その辺はすごい良いと思うものばかりでした。しばらく畳で寝ていないので、たまに畳で寝たくなりました(・ω・)

 文明開化で西洋のものが流入してきた頃を想像すると、なんだかわくわくします。西洋に倣って日本でも様々なものが作られたけれど、作っている人は今みたいに海外に行けたりもしなかったと思うので、背景などすべて想像しながら作業してたんじゃないかと思うと色んな意味ですごいなって思うのです。

美術展二つ

sudoでroot のパスワードを求められる

SUSE Linux は、デフォルトでは sudo は root のパスワードを求められるような設定になってます。他のでぃすとろは、自分のパスワードっていうところがほとんどなのでちょっと変わってるかも。 変えたい時は、/etc/sudoers で、どっちにするか決められます。

Defaults targetpw

と記述すると、root のパスワードを要求されるようになります。これを外すと、ユーザ自身のパスワードが要求されるようになります。

sudoでroot のパスワードを求められる

Leopard に Rails環境

MacBookもSSDに入れ替えて完全にSSD厨な感じだけど、環境構築してたら MySQL + Ruby でつまづいたのでメモしとく。

Ruby は、MacPorts で 1.8.7 をインストール。MySQL は、MySQL公式のダウンロードページ から、Mac OS X 10.5 (x86_64) をインストールした(これが良くなかったみたい)。

このあと、いつものように

% sudo gem install mysql -- --with-mysql-config /usr/local/mysql/bin/
mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed

ってやってインストールするんだけど、

% script/console
=> Booting WEBrick...
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
  Expected in: dynamic lookup

dyld: Symbol not found: _mysql_init
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
  Expected in: dynamic lookup

って出てしまう。

ぐぐってみると、同じ症状が出てる人がいた。Leopard MacbookにMySQLをインストール〜Railsで使えるようにするまで
(http://blog.digital-squad.net/article/92963519.html) を参考にさせて頂いて、試してみる

% sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed

しかし・・・

% script/console
Loading development environment (Rails 2.0.2)
/Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle, 9): no suitable image found.  Did find: (LoadError)
        /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle: mach-o, but wrong architecture - /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle       from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
        from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
        from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
        from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
        from /Users/chu/rails/viena/config/environment.rb:97
        from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
        from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb/init.rb:253:in `load_modules'
        from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb/init.rb:251:in `each'
        from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb/init.rb:251:in `load_modules'
        from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb/init.rb:21:in `setup'
        from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/irb.rb:54:in `start'
        from /usr/bin/irb:13

違うエラーになった。

下記を試せばいいっていう書き込みもあったけど、どうやら、x86_x64 のMySQL を使うとこれが出るっぽい。

% sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed

というわけで、Mac OS X 10.5 (x86) を改めて入れ直して、

% sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed

ってやったら普通に動いた。うーん。

友達曰く、port で入れれば普通に動くのに。らしい(‘A`)

Leopard に Rails環境