インストール
% gem install padrino
プロジェクトの生成
% padrino g project padrino-test
gはgenerateのg。genとかgenerateでも良い。
projectのところに生成するものを指定。
生成できるのは project, app, mailer, controller, model, migration, plugin, admin, admin_page。
padrino-testはプロジェクト名。適当。
デフォルトだとこんなんが生成される。
.
├── Gemfile
├── app
│ ├── app.rb
│ ├── controllers
│ ├── helpers
│ └── views
│ └── layouts
├── config
│ ├── apps.rb
│ └── boot.rb
├── config.ru
├── public
│ ├── favicon.ico
│ ├── images
│ ├── javascripts
│ └── stylesheets
└── tmp
ちなみに --tiny オプションをつけて生成するとcontroller、helper、mailerフォルダーがrbファイルと化す。
.
├── Gemfile
├── app
│ ├── app.rb
│ ├── controllers.rb
│ ├── helpers.rb
│ └── mailers.rb
├── config
│ ├── apps.rb
│ └── boot.rb
├── config.ru
├── public
│ ├── favicon.ico
│ ├── images
│ ├── javascripts
│ └── stylesheets
└── tmp
生成のときにはコンポーネントを色々選べる。僕の趣味で選ぶとこんな感じかしら。
% padrino g project padrino-slim -d mongoid -t rspec -s jquery -e slim -c sass -m mocha -b
-b つけるとbundle installまでやってくれる(自分でやらなくても、最初にアプリケーション起動するときに勝手にbundle installしてくれるらしい。最初って初回って意味だろうか)。もっと適当な感じのときは
% padrino g project feeling --tiny -e slim -c sass -b
とかか。Slimは外せない。jqueryとprototype.js両方使いたいときとかあるんじゃないか?と思って
% padrino g project -s prototype -s jquery
とかやってみたら後に指定したほうになるみたいだった。cucumberとrspec両方使う人とかいると思うけどね?(と思ってこっちもやってみたら、cucumber指定したらデフォでrspecの分も生成されてる?)
ともあれ、生成したら動かしてみる。
ルートディレクトリに入って
% padrino s
http://0.0.0.0:3000 で動き出す。
ログもカラフルに吐き出される。
http://0.0.0.0:3000 にアクセスしてみると404の画面になる。
app/app.rbを編集
get '/' do
"something"
end
とか適当に書く。shotgunとか使わなくても自動リロードされてるようだ。
なぜかここまで書くのに3日ぐらいを費やしてしまったので(padrino自体をいじったのは10分ぐらいなのに)、とりあえず一区切り。