Ruby - Sinatra インストール!
Updated:
今回は、Ruby 製の軽量 Web アプリケーション作成のためのツール Sinatra の導入についてです。 いわゆる DSL(Domain Specific Language) というドメイン特化言語にあたります。
当方、将来 Sinatra 製 CMS の Lokka を導入したいという事もあり、試しにインストールしてみました。
作業記録
0. 前提条件
- 作業を試行したのは Cygwin 1.7.15 上ですが、Linux 等でも同様です。
- 使用した Ruby は 1.9.3-p194
- 使用した RubyGems は 1.8.24
- 今回は HTML/XHTML を生成するためのマークアップ言語 Haml を使用します。
- 今回は Gemfile を使用します。
そして、ディレクトリ構成は以下のようにしました。
/var/www/test_sinatra
Gemfile
test_sinatra.rb
views
+ index.haml
1. RubyGems パッケージ Sinatra のインストール
後に、Gemfile を作成して Sinatra についての記述もするので、実際はここでインストール必要もありませんが。
$ gem install sinatra
Fetching: rack-protection-1.2.0.gem (100%)
Fetching: sinatra-1.3.2.gem (100%)
Successfully installed rack-protection-1.2.0
Successfully installed sinatra-1.3.2
2 gems installed
Installing ri documentation for rack-protection-1.2.0...
Installing ri documentation for sinatra-1.3.2...
Installing RDoc documentation for rack-protection-1.2.0...
Installing RDoc documentation for sinatra-1.3.2...
2. RubyGems パッケージ Haml のインストール
後に、Gemfile を作成して Haml についての記述もするので、実際はここでインストール必要もありませんが。
$ gem install haml
Fetching: haml-3.1.6.gem (100%)
Successfully installed haml-3.1.6
1 gem installed
Installing ri documentation for haml-3.1.6...
Installing RDoc documentation for haml-3.1.6...
3. アプリ用ディレクトリ作成
今回は /var/www ディレクトリ配下の test_sinatra というディレクトリにアプリを作成します。
$ cd /var/www
$ mkdir test_sinatra
4. Gemfile 作成
Bundler を使用して RubyGems パッケージの導入を行うので Gemfile を作成する。
$ cd test_sinatra
$ vi Gemfile
source :rubygems
source "http://rubygems.org"
gem 'sinatra'
gem 'haml'
5. スクリプト作成
メインで使用する Ruby スクリプトを作成する。 【 ファイル名: test_sinatra.rb 】
require 'rubygems'
require 'sinatra'
require 'haml'
get '/' do
haml :index
end
6. view 用スクリプト作成
メインスクリプトから呼び出される Haml ファイルを作成する。
$ mkdir views
【 ファイル名: views/index.haml 】
!!!
%html
%head
%title Hello.
%body
%div#main
%h1 Hello Sinatra!!
%div.ruby= Time.now
7. Bundle インストール
bundle install を実行する。 必要な gem がインストールされる。
$ bundle install
Using haml (3.1.6)
Using rack (1.4.1)
Using rack-protection (1.2.0)
Using tilt (1.3.3)
Using sinatra (1.3.2)
Using bundler (1.1.4)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
8. 実行
以下のコマンドで実行する。
$ ruby test_sinatra.rb
== Sinatra/1.3.2 has taken the stage on 4567 for development with backup from Mongrel
9. 表示確認
ブラウザで http://localhost:4567 にアクセスして正しく表示される事を確認する。
参考サイト
意外と簡単に導入できました。 Ruby on Rails とは違ったおもしろさがありそうに感じました。
以上です。
Comments