jruby on Merb : datamapper & merb-gen

前回の記事で、DatamapperのDBドライバがJRuby未対応と書きましたが、ようやく対応バージョンがリリースされたようです。

Merb + ActiveRecordで遊んで見るつもりでしたが、ORMをARにするといろいろと設定し直さないといけないところが出てくるので、せっかくリリースされたこともあり、Merb + Datamapperであそんでみたいと思います。

[1/15追記]申し訳ございません。現状インストールはできますが、実装が不十分なようで、(特にdatamapperとの連携部分)merb+datamapperでは動作しないことが判明しました。したがってJRubyで使うことはまだできません。大変申し訳ございません。

ただ、JRuby用Datamapperのドライバは現状開発中でgemのレポジトリにははいっていません。そのため、githubからダウンロードしてインストールする必要があります。

まずgit clone


$ git clone git://github.com/sam/do.git



できたディレクトリに移動して、ビルド&インストール。


$ cd do
$ jruby -S rake install



これでderby, sqlite3, postgres, mysql, hsqldb, そしてjdbc接続のドライバがインストールされます。

gem listすると、0.9.11のdo_xxxというgemがインストールされているはずです。

ということで、Merb+Datamapperを触っていきます。ブログアプリを作っていきたいと思います。

勉強しながら書いているので、間違いもあるかと思います。お気付きの場合、指摘していただけると幸いです。

Railsのrailsコマンドにあたるのが、merb-genです。これを使ってアプリケーションを生成します。


$ jruby -S merb-gen app blog



ところで、merb-genだけを入力するとオプションが表示されます。そのオプションの中に、アプリケーションのひな形を生成するオプション、app,coreとflat,very_flatがあると思います。それぞれで生成されるMerbアプリケーションの構成が異なります。


  • app : 最も標準的なひな形。jQueryやdependencies.rbなど全部入り。

  • core : railsのようなひな形。jQueryやdependencies.rb, database.ymlなど含まず

  • flat : view,controller1つずつ、framework.rb(設定)の極小ひな形。

  • very_flat : ファイル1つ(veryflat.rb)ですべての設定を行う超極小ひな形。



という構成になるようです。appでは、ORMやテストフレームワーク、テンプレートエンジンはデフォルト(それぞれ、Datamapper, RSpec, erb)を使用する設定でひな形が生成されます。これらをデフォルトから変更したい場合は、coreを使います。例えば、ORMをActiverecord,テンプレートエンジンをhamlにしたい場合は、


$ jruby -S merb-gen core test --orm=activerecord --template-engine=haml



というようになります。続きは次回。

投稿されたコメント:

コメント
  • HTML文法 不許可
About

Tomo

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日