はじめに
Ruby言語とRuby on Rails(略してRails)Webアプリケーションフレームワークは、ソフトウェアプログラミング業界に一大旋風を巻き起こしました。Rubyが登場してから10年以上が経ちますが、Railsフレームワーク自体は比較的新しいものです。しかし、非常に複雑なWebフレームワークの世界で悪戦苦闘している多くのプログラマに大変人気があります。
この記事では、RubyとRailsを一緒に使うと、単純なWikiアプリケーションが簡単に作成できることを実証します。Railsは、データベースアプリケーションの作成に利用されるのが一般的ですが、この記事では、ファイルベースの永続化を説明します。というのは、私は個人的にファイルベースのWikiシステムの方が好きで、かつ、こちらの方がセットアップも簡単だからです。また、Railsを使ったデータベース以外のアプリケーション開発に関する情報はWeb上であまり公開されていないから、という理由もあります。なお、データベースへの切り替えは、Railsのデータベースサポートを使って手順どおりに行えば比較的簡単にできます。
必要なもの
この記事の内容を理解するには、Ruby言語とRailsフレームワークに関する実用的な知識が必要です。そのどちらも初めての方は、既に公開されている次のDevXの記事をお読みください。
- Ruby - A Diamond of a Programming Language, Part 1
- Ruby - A Diamond of a Programming Language, Part 2
- Ride the Web Application Express with Ruby on Rails
さらに興味のある方は、本稿の最後の「参考資料」で紹介しているリンクも参照してください。
サンプルのwikiを作成して実行するには、中核となる次の3つのソフトウェアをインストールする必要があります。
- Rubyインタプリタ
- RubyGemsパッケージングシステム
- Railsフレームワーク
また、テキストマークアップエンジンとしてRedClothというRuby gemが必要です。これらのソフトウェアはすべて以下の場所にあります。バージョンはこの記事で使用したバージョンです(注: これらのソフトウェアはリスト順どおりにインストールしてください)。
- Rubyインタプリタ(バージョン1.8.5)
- RubyGemsパッケージングシステム(バージョン0.9.2)
- Gems:
- Ruby on Rails(rails-1.2.2)。あるいは、gem install rails --include-dependenciesと入力しても同様。
- RedCloth Textileマークアップ言語(3.0.4)。gem install redclothコマンドを実行。
以上すべてのソフトウェアをインストールしたら、次のコマンドを実行して構成をテストしてください。
- ruby -help
- gem --help(あるいはgem list --local)
- rails -help
本稿のWikiシステムの機能
コードを確認する前に、本稿で作成するWikiシステム(名前は「RailsWiki」とします)の実装に必要な機能を検討してみましょう。一般的なWikiシステムでは、Webを介してコンテンツを簡単に追加、編集、削除できます。そこでRailsWikiでも、最低、次の操作ができるようにします。
- Wikiドキュメントを新規作成する
- 既存のWikiドキュメントを編集する(テキストマークアップ言語によるコンテンツの書式設定を可能にする)
- 既存のWikiドキュメントを表示する(開く)
- 既存のWikiドキュメントを印刷する
- 既存のWikiドキュメントを削除する
- 既に作成されたWikiドキュメントをすべてリストする(表示または削除目的)
次に、これら高いレベルの機能要求(いわゆるユーザーストーリー)を実装するUIサンプル(モックアップ)を検討してみましょう。図1、図2、図3、図4はそれぞれ、ウェルカムページ、表示機能、編集機能、印刷機能のスクリーンショットです。RailsWikiの実装に必要な機能は、この4つの図にほぼ反映されています。