2012年5月11日金曜日

sinatra (1)

sinatraはちょっとしたアプリケーションや、少しずつ育てていきたい時に重宝します。
規模感が合致すればrailsを使えばよいですし、sinatraをよりrailsっぽく使うのであればPadrinoあたりを使えばよいと思います。
個人的にはPadrinoの初期生成でも煩わしさを感じたので、自分で生成しています。
Github等で様々な人がテンプレートを紹介しているので、参考にしてみるとよいでしょう。
ミニマムで以下のような構成です。config, public, spec, viewsは今のところ空のディレクトリです。
.
├── config
├── config.ru
├── Gemfile
├── Gemfile.lock
├── lib
│     └── app.rb
├── public
├── spec
└── views

Gemfile

source :rubygems

gem 'sinatra', require: 'sinatra/base'

config.ru

$:.unshift File.join(File.dirname(__FILE__), 'lib')
require 'bundler'
Bundler.require

require 'app'
run MyApp

lib/app.rb

class MyApp < Sinatra::Base

  # http://www.sinatrarb.com/configuration.html
  configure do
    set :root, File.expand_path('../../', __FILE__)
  end

  get '/' do
    'Hello World!'
  end
end
$ bundle install
$ bundle exec rackup
WEBRickが立ち上がるので、ブラウザ経由のhttp://localhost:9292で結果を確認できると思います。

0 件のコメント:

コメントを投稿