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_SINATRA_1

参考サイト


意外と簡単に導入できました。 Ruby on Rails とは違ったおもしろさがありそうに感じました。

以上です。





 

Sponsored Link

 

Comments