sinatra + heroku で hello world

こんにちは。麺処まつば副店長です。
引き続き店長にしごかれています。

さて、今日は前回までの仕込みで sinatra on heroku の環境が整ったので
今回は実際の調理をやっていこうと思います。

本日のメニューは定番 Hello world です。
余談ですが、Hello world をハロワって言ったらヤメロと言われました。

さて、作り方はこんな感じです

  • プロジェクトを作る
  • ファイルを作る
  • コミットしてデプロイ
  • 試食会

プロジェクトを作る

プロジェクトに必要なディレクトリを作ります。
できたら中に入ってしまいましょう。

$ mkdir hellow
$ cd hellow

git入れましょう

$ git init

heroku にプロジェクトを作ります。

$ heroku create hellow

ファイルを作る

3ファイル作ります。

  • Gemfile
  • config.ru
  • app.rb
Gemfile:Bundler用
source :rubygems
gem 'sinatra'
config.ru:Rack用
# bundler使います宣言がないと
# herokuにアップした時エラーになるっぽいです。
# ↓悩んでたら店長が手を貸してくれました。
require 'bundler'
Bundler.require

#sinatraファイルの指定
require './app'

run Sinatra::Application
app.rb:Sinatraアプリ用
#coding:utf-8
# ↑ruby 1.9.2から日本語書く場合、おまじないが必要になったそうです
# http://doc.ruby-lang.org/ja/1.9.2/doc/spec=2fm17n.html#magic_comment

require 'rubygems'
require 'sinatra'

# このプロダクションブロックがないと、
# heroku にあげたときにエラーになるみたいです
configure :production do
end

get '/'do
  'はろわ……ーるど'
end

ファイルが用意できたら、動作確認してみましょう。

$ ruby app.rb << これだとhttp://localhost:4567
$ rackup      << これだとhttp://localhost:9292

ブラウザに「はろわ……ーるど」という
胡散臭いメッセージが表示されたら成功です。
確認できたら、ばんどるしましょう。Gemfile.lockができるはずです。

$ bundle install

コミットしてデプロイ

gitでコミットしてデプロイしちゃいましょう。

$ git add .
$ git commit -m 'hello world'
$ git push heroku master

試食会

では、herokuにアップされたものを見てみましょう。

$ heroku open

で、勝手にブラウザがあがるので、存分に試食しましょう。
きっとブラウザに「はろわ……ーるど」という
胡散臭いメッセージが表示されているはず。

うまくできました。
次回は、heroku + sinatra でフォームを使ってみるところをやってみようと思います。

お世話様ですm(_ _)m
http://d.hatena.ne.jp/ruedap/20110128/ruby_heroku_sinatra_hello_world
heroku 側で仕様変更があったのだと思うのだけど、
ココに書いてあるのだと今は動かないみたいです…