Easy Tutorial
ここでは細かい理屈は抜きにして、LuRuJu On Railsを利用して簡単なWebアプリを作成するまでの作業の流れを体感して頂く。
前提条件
以下がインストールされていることが前提とする。
- JRuby (gemも含む)
- Ruby (gemも含む)
- Ruby on Rails
- LuRuJu
- MySQL
インストール方法は Install LuRuJu や With CRuby を参照のこと。
Railsプロジェクトの作成
Railsプロジェクトを作成する。プロジェクト名はsampleとする。
>rails sample
create
create app/controllers
create app/helpers
create app/models
:
:
LuRuJu On Railsのインストール
LuRuJu On Railsをインストールする
>cd sample
>ruby script/plugin install \
http://luruju.com/svn/plugins/luruju-on-rails
+ ./luruju-on-rails/README
+ ./luruju-on-rails/Rakefile
+ ./luruju-on-rails/init.rb
:
:
JUDEファイルの配置
JUDEのクラス図を作成し、RAILS_ROOT/app/models配下に置く。

クラス図の内容は以下のとおり。

サンプルのJUDEファイル(JUDE Professional)は以下よりダウンロードできる。
テーブル群の作成
JUDEのクラス図に対応した各テーブル群を作成する。
RAILS_ROOT/config/database.ymlを編集する。本例では開発環境(development)にデプロイするものとする。
development:
adapter: mysql
database: sample_development
username: root
password: XXXXX
host: localhost
データベースsample_developmentを作成する。
>mysql -uroot -pXXXXX
mysql> create database sample_development;
Query OK, 1 row affected (0.02 sec)
mysql> exit
Bye
RAILS_ROOT/Rakefileに以下の内容を追記する。
:
:
require(File.join(File.dirname(__FILE__),'config','environment'))
require 'tasks/luruju'
require 'tasks/luruju_on_rails'
LuRuJuサーバを起動する。
>jruby -S rake luruju:server:start
(in C:/tmp/sample)
start LuRuJu Server URL=druby://127.0.0.1:3937
lor:db:createタスクを実行してテーブルを作成する。
>rake lor:db:create
以上でテーブル作成は完了である。以下、確認方法の一例を示す。
>mysql -uroot -pXXXXX sample_development
mysql> show tables;
+------------------------------+
| Tables_in_sample_development |
+------------------------------+
| customers |
| deliveries |
| delivery_centers |
| delivery_centers_items |
| items |
| ordered_items |
| orders |
+------------------------------+
7 rows in set (0.00 sec)
scaffoldを利用したWebアプリの作成
上記作業で、JUDEファイルで定義したクラスがRoRのモデルとして動作する。 その確認をするために、scaffoldを利用した簡単なWebアプリを作成してみる。
以下、各モデルに対してscaffoldを実行する。
>ruby script/generate scaffold Customer
>ruby script/generate scaffold Delivery
>ruby script/generate DeliveryCenter
>ruby script/generate DeliveryCentersItem
>ruby script/generate Item
>ruby script/generate OrderedItem
>ruby script/generate Order
Railsサーバを起動する。
>ruby script/server
とりあえずこれでサンプルWebアプリは完了である。
以下、http://localhost:3000/customersをアクセスして登録処理を行った結果の一覧を示す。

モデルにビジネスロジックを追記
プラグインが動的に生成したモデルに対し、Rubyコードでビジネスロジックを追記できる。
RAILS_ROOT/app/models配下にcustomer.rbファイルを作成する。

customer.rbファイルに以下のようなビジネスロジックを追記する。
以上、ビジネスロジック追記の一例である。script/consoleでの簡単な動作確認を示す。
>ruby script/console
Loading development environment.
>> puts Customer.find(1).profile
name=ばんちょー
address=川崎市
phone_number=123456789
=> nil