軽量フレームワーク Sinatra

今回はrubyの軽量フレームワーク Sinatra の紹介です。

こちらのフレームワークは"簡潔さ"が売りです。

複数人で組む開発ではなく、一人の担当者が短期間で

(簡単なシステムを)構築する場合に効果的だと思われます。

簡単な利用方法は公式ページに日本語版 もあるので、困らないと思います。

今回はこれを利用して、ログファイルを表示する簡単なcgiを作成します

私が今回利用したFedoraLinuxでは、以下でインストールが出来ました。

  yum install rubygem-sinatra.noarch

手始めの簡易なログビューアーですので

  1. 1:ログファイルを読み込む
  2. 2:HTMLのテンプレートを読み込む
  3. 3:表示

の、シンプルな物です。

さらに1ファイルに収めるためにビューはヒアドキュメントを使いました。


《 log_viewer.rb 》
require 'rubygems'
require 'sinatra'
require 'kconv'

log_file = "/var/log/httpd/access.log"
html = "ヒアドキュメント"

get '/' do
  buff = nil
  open(log_file){|f| buff = f.read }
  Kconv.tosjis(html.gsub(/\$\{yeild\}/,buff))
end
《 ヒアドキュメント部分 》

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS">
   <meta http-equiv="content-style-type" content="text/css">
   <title>簡易ログビューアー</title>
   <style type="text/css">
      *.logbox
      {
         border: solid 1px #808080;
         width: 960px;
         height: 640px;
         padding: 0.5em;
         overflow: auto;
      }
      q  { color: #008000; }
   </style>
</head>
<body>
   <h1>簡易ログビューアー</h1>
   <div class="logbox">
     <pre>${yeild}</pre>
   </div>
</body>
</html>


こちらを手っ取り早く起動します

サンプルコード内のヒアドキュメントは適宜置き換えてください。(blog内での表示上の理由)

 ruby log_viewer.rb

これをブラウザからアクセスすると...

wikiのFrontPage

と、簡潔に機能を作る事が出来るのです!


皆様、これからもbiz-Streamをよろしくお願い致します。
また、初めてこちらのサイトをご覧になり、
biz-Streamに関心を持って頂いた方は是非、 下のボタンよりお気軽にお問い合わせ下さい。

biz-Stream詳細情報  biz-Stream資料請求

超高速!!高機能!! Web帳票ソリューション biz-Stream

オンデマンドかつリアルタイムにビジネスドキュメントを生成する帳票ソリューション