2014年5月28日水曜日

RubyMineでrackとWEBrickを使った超簡単webアプリ作成



数ヶ月ブログを放置していましたが、急にRubyな話題を書こうと思います。
最近は仕事でJavaを書きつつ、個人的にRubyを書くことが増えたので。

閑話休題、IDEの話題。
今回は jetbeansのRubyMindeを使って、rackを利用した超簡単Webアプリを作ります。

■rackってなにさ?
アプリケーションやフレームワークとサーバー間のRubyインターフェースです。
サーバー依存しない実装を実現してくれるミドルウェアのような存在です。

■環境
OS: Windws 7/Mac 10.9
Ruby WinとMac共に2.1.2
IDE: RubyMine 6.3.2

■手順
1. プロジェクト作成
2. bundler を使ってrackのgemをインストール
3. メインのクラスを書く
4. config.ruを書く
5. 実行!

です!
では、早速やってみましょう↓。




1. 新規プロジェクト作成
新規プロダクトを作ります。
File>New Project
プロジェクト名は RackTestApp とします。


2. bundler を使ってrackのgemをインストール
まずは、bundlerでGemfileを作ります。
 Tools>bundler>init

オプションの引数などを聞かれますが、今回は何も入力せず[ok]
そうするとRackTestAppプロジェクトの中にGemfileとGemfile.lockが作成されます。


このGemfileを開いて、以下を最終行辺りに記述。
gem "rack"

そしてbundle installをします
 Tools>bundler>install

これで、このプロジェクトでrackが使えるようになりました。
External Librariesの下にもrackのフォルダが追加されます。

Toolsの中にbundlerが表示されていない場合があります。
その時はPreferences>Ruby SDK & GemsでRuby SDKを指定してあげてください。


3. メインのクラスを書く
古来からの作法に則り、はろーわーるどしましょう。

プロジェクト下にappディレクトリを作成してください。
appディレクトリ内にsimple_app.rbを作成します。
ソースの内容については、また別のエントリで解説します。。

class SimpleApp
  def call(env)
    [
        200,
        { 'Content-Type' => 'text/html' },
        ['<html > <body >HELLO WORLD!</body > </html >']
    ]
  end
end


4. config.ruを書く
rackupコマンドで呼ばれるconfig.ruファイルをプロジェクト直下に作成します。
自動でrackファイルだと認識してくれるので、プロジェクトのツリーに表示されるconfig.ruのアイコンがrack用のものになります。
中身はこんな感じ。

require './app/simple_app.rb'
run SimpleApp.new

ソースの内容については(ry


5. 実行!
実行します。

Run>Run'config.ru'

そうすると、コンソールにWEBricのバージョン、Rubyのバージョン、WEBricのhttpサーバーポート番号などが表示されます。
何かブラウザを開いて
http://localhost:9292
へアクセス。

画面にHELLO WORLD!

手動でブラウザを開くのが面倒な場合は、Run>Edit Configrationで
config.ruを選択し、Configration内のRun browserにチェックを入れると
自動でブラウザを開いてくれます。



終わりに
以上、RubymineでrackとWEBricを使った超簡単webアプリを作ってみました。
この程度ならばIDE使わずとも苦もなく書けるよって言われそうですが、RubyMineに慣れようという練習のつもりでやってみました。
これでまたひとつ快適なRuby開発ができそうです。


0 件のコメント:

コメントを投稿