Padrinoをインストールしたよ
Padrinoを動かしてみるよ。
前回はRubyをインストールしたところまででしたが、今回はRubyのFWを入れて、Web開発を進めていきたいと思います。
今回選んだFWはPadrino
です。
http://jp.padrinorb.com/
PadrinoはSinatraをベースにしたFWで、ActiveRecordとか使えて便利みたいです。上述の公式(翻訳)サイトのドキュメントは途中まで日本語になっているのですが、まだまだ英語の領分が大きい・・・頑張ります。
インストール自体は簡単です。
$ mkdir ${work}
$ cd ${work}
$ bunlde init
$ echo 'gem "padrino"' >> Gemfile
$ bundle install --path vendor/bundle
Gemを使うと基本的にグローバルにインストールされてしまうのですが、--path
を指定することで、ローカルに閉じた状態でインストールすることができるようです。
ただ、この場合、グローバルに入っていないので、インストールしたモジュールへのアクセスがbundler
経由じゃないと呼び出せないので注意が必要です。
Padrinoには便利なGeneratorがあるよ。
次に、サンプルのアプリを作成してみます。
今回はRestfulなAPIを作りたかったので、必要そうなものを最小限で構成してみます。
その他、いろんなモジュールを組み合わせてアプリを作ることができたります。詳しくは公式を見ていただけると大丈夫かと。
$ bundle exec padrino g project study_project -d activerecord -t rspec -e none
これでアプリのひな形が出来ました。
ソース管理するときはこちらをルートにしてpushしてあげると良い感じです。
さて、実際に動かす準備を進めます。
まずは依存モジュールを落としてきます。こちらもグローバルが何となく気持ち悪かったので、ローカルに配置してあります。
$ cd study_project
$ bundle install --path vendor/bundle
無事に配置が終わったら、コントローラを作ります。
この辺もGeneratorがたくさんあるので、うまく活用していきます。
$ bundle exec padrino g controller Hello
先程も触れましたが、padrino
をグローバルに入れていないので、bundle exec
から呼び出します。これによりapp/controllers/hello.rb
が出来ます。何やらコメントが書いてあるので、何となく書き方はわかるかと思いますが、一応以下のような記述を追記します。
get :world do
"Hello World!"
end
これで準備は万端です。早速動作確認してみましょう。
RubyではWEBrick
というサーバが同梱されているらしいので、そちらで動作確認できます。
$ bundle exec padrino s
「s」は「start」の意味です。
無事立ち上がったら、http://localhost:3000/hello/worldで動作確認してみます。
文字列が表示されたら成功です!
通常のWeb開発であれば、erbなどテンプレートエンジンを組み合わせて、画面描画を行ったりするのでしょうけど、今回はRestfulAPIを作りたいので、その辺は不要ですね。
APIにしたいのだけど・・・
RestfulなAPIを作るときにGrape
というものがあるのですが、どうもRailsを基準にしているのか、Padrinoではうまく動かないっぽいです・・・
Padrinoとのつなぎ込みのモジュールもあったのですが、PadrinoのVerが「0.11」に準拠しているらしく、おっさんの落としてきた「0.12」だとエラーになってしまいました・・・
次回はこの辺をしっかり調査して、何とか動かせるようにしたいです。
※もしくは妥協案を探したい・・・