早速Merb-1.0.1にアップデートする必要がでてきたので、手順をメモしておきます。

  1. config/dependencies.rbの中で、
       1  merb_gems_version = "1.0.1"
       2  dm_gems_version   = "0.9.7"
    
  2. dm-core,dm-aggregates,dm-migrations,dm-timestamps,dm-types, dm-validations,do_sqlite3 を0.9.7にアップデート

ここまでで、とりあえず merb -iは起動するようになりました。

posted by Png genki on Wed 19 Nov 2008 at 10:08

今までMac OS XのTerminal.appでGNU Screenのスクロールバックバッファーをマウスで操作できなかったけど、やっと設定方法がわかった。

.screenrcに下記の設定を追加すればスクロールできるようになる。

   1  termcapinfo xterm* ti@:te@

これでコピーモードを使わなくて済む! 便利。

引用元:Scrolling, copying in Mac OS X

posted by Face lchin on Wed 19 Nov 2008 at 09:28

今月16日のMerb newsで、数日後にリリースされると予定されていた Merb-1.0.1がリリースされたみたいです。

Merb news nov-16-2008

Merb 1.0.1

Merb 1.0.1 is in the work and should be released in the next few days. It’s just a maintenance release, so nothing new but we expect to ship with the new upcoming version of DataMapper, optimized generator (you will be able to use spaces in between arguments if you follow the unix standard) and some bug fixes.

インストール/アップデートはRubyGemsで行えます。

   1  % sudo gem install merb

posted by Png genki on Wed 19 Nov 2008 at 09:27

merb -iは、 Merb-1.0におけるscript/console的な対話型インターフェイスを提供するコマンドですが、 アダプターとしてThinを使っていると、エラーが発生してうまく使えないようです。

   1  % merb -i
   2    (snip)
   3   ~ Connecting to database...
   4   ~ Loaded slice 'MerbAuthSlicePassword' ...
   5   ~ Parent pid: 29906
   6   ~ Compiling routes...
   7   ~ Activating slice 'MerbAuthSlicePassword' ...
   8  merb : worker (port 4000) ~ Starting Thin at port 4000
   9  merb : worker (port 4000) ~ Using Thin adapter on host 0.0.0.0 and port 4000.
  10  merb : worker (port 4000) ~ Successfully bound to port 4000
  11  /opt/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.2/lib/eventmachine.rb:531:in
  12   `start_tcp_server': no acceptor (RuntimeError)

mongrelとwebratをインストールし、adapterとしてMongrelを使うようにすると、merb -iでエラーが出なくなりました。

   1  % merb -i
   2    (snip)
   3   ~ Connecting to database...
   4   ~ Loaded slice 'MerbAuthSlicePassword' ...
   5   ~ Parent pid: 29931
   6   ~ Compiling routes...
   7   ~ Activating slice 'MerbAuthSlicePassword' ...
   8  irb: warn: can't alias context from irb_context.
   9  irb(main):001:0> 

Merbの名称はMongrel+ERBから来てるみたいだけど、 とりあえずはしばらくMongrelを使っておくのが無難かもですね。 少なくとも開発環境では。

posted by Png genki on Wed 19 Nov 2008 at 08:57
posted by Png genki on Wed 19 Nov 2008 at 08:13

emacsを使っていると*~ファイルや#*#ファイルができます。これらを無視するのにプロジェクトのgitignoreを変更するのははばかれるというので、使い回せないかと思ったところありました。

  1. ~/.gitignoreファイルを用意する
  2. 下記のコマンドを発行
       1  git config --global core.excludesfile ~/.gitignore
    
    ~/.gitconfigを編集する手もあるようなのですが、即反映というわけではないようなので、shellから指定したところすぐに反映されました。
  3. おしまい

~/.gitignoreの中身

   1  ~
   2  #*#

posted by Png satoko on Tue 18 Nov 2008 at 15:13

macにスイッチしたのですが、娘がmacでお絵描きをする場合何がいいのかしら。
Skitchはちょっと違うし...と思っていたらtechnohippyさんのtwtに出くわしました。

@technohippy: Macでフリーの画像処理ツールが見つからなかったのでAviary使ってみた。さすがに重いけどすごいな、これ

Araiary、これすごいですね。難しそうな気もするけど、そうでもない気もする。
今度娘に使わせてみよう。

http://aviary.com/home

posted by Png satoko on Tue 18 Nov 2008 at 12:47

たまにrubyforgeが重くてgemがインストールできないことがある。 仕方ないので直接rubyforgeからgemをダウンロードしてローカルインストールする。(直接ダウンロードする分には普通にアクセスできる。。。)

gem install rspec --local

のように--localを指定すれば良い。ただし依存するgemも一式ダウンロードしておく必要があることに注意。

posted by Face ysakaki on Tue 18 Nov 2008 at 11:47

MerbでWebサーバのプロセスをデーモンモードで立ち上げる場合、 以下のように行います。

   1  % merb -d

これによって、log/の下に、merb.4000.pidのようなPIDファイルが作成されます。

立ち上げたプロセスをKillする場合は、以下のようにポート番号を指定して-kオプションを使います。

   1  % merb -k 4000

あるいは、gracefulにkillしたい場合は、-kの代わりに-Kを使います。

   1  % merb -K 4000

ポート番号を指定せずに、allを指定する事もできます。

   1  % merb -K all

-kの方ではallは指定出来ないようです。

posted by Png genki on Tue 18 Nov 2008 at 03:49

Merbを使う時に、利用するWebサーバを切り替えるには、 以下のように、-aオプションを使う事ができます。

   1  % merb -a thin

毎回指定するのも面倒なので、config/environment/*.rb ファイルの中で、 以下のように設定する事もできます。

   1  Merb::Config.use { |c|
   2    # snip
   3    c[:adapter] = :thin
   4  }

posted by Png genki on Tue 18 Nov 2008 at 03:35