- ランプの中身(Ruby on Railsのシステム開発)
- ランプの中身(Ruby on Railsのシステム開発)では、株式会社ケイビーエムジェイのRuby on Railsエンジニアが蓄積したノウハウを公開しています。Ruby on Railに関する技術解説や実践的なノウハウなど、開発現場の技術に則したコンテンツを随時追加していきます。 初心者の方でもわかりやすい技術解説を心がけています。リクエスト、ご質問も受け付けいますので、ご気軽にコメントを記述して下さい。
< Rubyのコマンドライン引数と環境変数に... | メイン | Rubyプログラムの組み方から、Exeフ... >
-
- 2008.04.30
Rubyのソースコードから HTML Helpを生成してみよう!
こんにちは!
井上 清晃(saronpasu)です。
今回は、RDocについてご紹介します。
RDocについて簡単に説明すると、『Rubyのソースコードから説明書を生成してくれる』というものです。
1. RDocにできること
RDocは、Rubyのソースコードに書いてあるコメントやクラス定義から、
ドキュメントを生成してくれる便利なツールです。
RDocでは次の出力フォーマットに対応しています。
Railsなどを触っている方は、もう既にご覧になっているのではないでしょうか?
おなじみの、フレームで区切られたAPIリファレンスのページがあります。
あれがまさに、ソースコードを元に、RDocで生成されたものです。
・HTML Help ドキュメント
Windowsユーザのみなさんは見慣れている、Helpファイルです。
Rubyのソースコードを元に、HTML Help形式のドキュメントを生成することができます。
他にも、
・クラス図(jpg/gif/png) などの出力もサポートしていますが、これらについては、今回は割愛します。
2. SampleProject を用意してみよう
さて、それではまず 任意のプロジェクトとして、 SampleProjectというもののドキュメントを生成してみましょうか。
SampleProjectのファイル構成
Rakefile
README
test/*.rb
lib/*.rb
main.rb
ざっと、こんな構成になっていると仮定しましょう。
このスクリプトは、 main.rb に記述されている Mainというクラスを基本的に扱うものとします。
そして、main.rb は、lib/以下の.rbファイルをrequire()して動作しているものとしましょう。
require 'lib/hoge.rb'
require 'lib/fuga.rb'
#
#*MainClass
# UTF-8で MainClass の使い方を書いています。
#
class Main
def initialize
#ここに処理をかくよ
end
end
3. RDocで HTMLドキュメントを生成してみよう
さて、早速 RDocでソースコードから HTMLドキュメントを生成してみましょう。
コマンドの内容を説明します。
-m: 生成するドキュメントのトップページに表示するクラス(またはモジュール)です。今回は Mainクラスを指定しました。
-t: 生成するドキュメントのタイトルです。今回は SampleProject と指定しました
-f: 生成するドキュメントの形式を指定します。今回は HTML で出力するように指定しました
最後に、引数としてソースコードの場所を指定します。testとかは読ませたくないので、今回は libディレクトリと main.rbを指定しました。
こうすると、sample_project/配下に docというディレクトリが生成されて、そこに index.htmlという HTMLドキュメントが生成されます。
4. RDocで HTML Help ドキュメントを生成してみよう
それでは、次に HTML Help ドキュメントを生成してみましょう。
先ほどの SampleProject から、HTML Helpを生成します。
そうすると・・・
Generating CHM...
.chm output generation requires that Microsoft's Html Help
Workshop is installed. RDoc looks for it in:
c:/Program Files/HTML Help Workshop/hhc.exe
You can download a copy for free from:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp
というようなメッセージが表示されました。
5. HTML Helpの生成に必要な、 『HTML Help Workshop』をインストールしよう
騙していたわけではありませんが、実は HTML Helpを生成するためには Microsoft HTML Help WorkShop が必要なのです。
というわけで、 Microsoft HTML Help WorkShopをインストールしましょう。
2008.04.30 現在、「HTML Help WorkShop」 は、「Office 2003 Edition リソースキット」として配布されています。
次の URLから 「Office 2003 Edition リソースキット」を取得しましょう。
http://www.microsoft.com/japan/office/ork/2003/tools/BoxA02.htm
ork.exeをインストールすると、 C:\Program Files\ORKTOOLS\ORK11\TOOLS\HTML Help Workshop に、HTMLHELP.EXEが展開されています。
今度は、この HTMLHELP.EXE を展開すると、 C:\Program Files\HTML Help Workshop\hhc.exe が展開されます。
6. 改めて、HTML Help ドキュメントを生成してみよう
これで準備は整いました。
改めて、RDocの生成コマンドを実行しましょう。
これでようやく、 sample_project/doc/rdoc.chm が生成されました。
これを開くと、 HTML Helpとしてドキュメントを見る事ができますね。
インターネット経由で APIリファレンスを見るのも良いですが、どうしてもインターネットに接続できない場合や
自分で書いたRubyプログラムにドキュメントを付けたい場合なんかにはRDocは重宝します。
普段から RDocを生成することを意識してコメントを書いていると、自然と綺麗なコメントが書けるようになるかもしれませんね。
トラックバック URL
この記事にコメントする
TOPICS
2008/06/25
「ZD Net Builder」の連載記事です。第四回は「Rubyでどう書く?:重複したRSSをまとめる」が掲載されました。
2008/05/30
「ZD Net Builder」の連載記事です。第三回は「Rubyでどう書く?:Rubyで特定URLの画像パス一覧を表示する」が掲載されました。
2008/05/07
「ZD Net Builder」に連載を始めました。第二回は「Rubyでどう書く?:RubyでPDF履歴書を作成する」が掲載されました。
2008/04/24
「アットマーク・アイティ」に『 Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する』が掲載されました。
RoR最新ブログ一覧
全体のRoR最新ブログ一覧
- Cybozuのスケジュールをmobileme経由でiPhone 3Gに取り込む
- 今週のRuby on Rails最新情報
- Rubyでどう書く?:RubyでWord文書を作成する
- タニタさんの「からだカルテ」を使ってみました
- iPhoneを確保しました
- Edge Railsの最新情報
- Rubyのセキュリティ脆弱性
- mysqlでレコードの中身を一括置換する方法
- 同じappでDBを使い分ける
- Rubyでどう書く?:重複したRSSをまとめる
- TABLEに直接データを入れる便利な方法
- 社内SNSをiPhoneで快適に見るためのCSSを書いてみた
- phpmyadminをセキュアにアクセスする方法
- Rubyプログラムの組み方から、Exeファイルの作成まで
- Ruby、Railsインストール for MacOSX
- will_paginageを使ってみた
- dmgファイルの作り方
- PHP携帯電話の機種情報取得
- Rubyでどう書く?:Rubyで特定URLの画像パス一覧を表示する
- リファラでアクセス制限をしてみた。
- 奇妙な演算子
- RJSを用いて、日付プルダウンメニューを書き換える (2
- railsの実行モードの設定 RAILS_ENV
- postgresでのユーザ権限付与(psql, grant)
- ドロップダウンに簡単にオートコンプリート機能を追加する方法
- Vimの自動補完
- IE6 以前で float に指定した margin が 2 倍になる現象を解消する
- サーバ監視ソフトウェア「ganglia」を使ってみる
- 監視ツールcactiについて
- Rubyでどう書く?:RubyでPDF履歴書を作成する
- グラフを作ってみるか!?
- clearfixでfloat解除
- SELinux無効にしてみる
- Rubyのソースコードから HTML Helpを生成してみよう!
- IEでダイジェスト認証をかけるとエラーになった。
- muninのインストール 〜監視ツールって〜
- Rubyでどう書く?:連続した数列を範囲形式にまとめたい
- RJSを用いて、日付プルダウンメニューを書き換える
- Passenger (mod_rails for apache)での色んな設定値について調べてみた
- docomo の罠
- ローカルで動画変換をする方法
- MacOSにpostgreSQL 8.3をインストール
- Postgres8_3⇔8_1の性能比較してみました
- rake db:migrate すると undefined method `last' for {}:Hash と出る
- ケータイWebサイトに携わっている方へ
- MySQL最大バッファサイズの設定
- railsのand/orを使った機能
- Railsライクなフレームワーク「CakePHP」②
- エラー表示で意図しない改行を解消する−fieldWithErrors、ActionView::Base、field_error_proc
- [mysqlのベンチマーク]MyBenchの設定
- Rubyのコマンドライン引数と環境変数について(初心者向け)
- Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する
- 簡単&便利 Capistranoのススメ (導入編)
- Rails的コメントアウト
- 使えるvalidate一覧
- せっかくなので、Thin を使って実践
- Xenを用いてCentOS上に仮想CentOSを2つインストールする
- aptanaでrailsをデバッグ実行する
- empty?とblank?の違いって?
- ローカルでコマンドを打つとアスタリスクで囲まれたエラーが出る
- rubyの便利ツールirbをカスタマイズしてみた
- 実行モード "environment"設定の基本
- RadRails(Aptana)のショートカット
- JRubyを触ってみた
- mongrelとの戦い〜503エラー?mongrelが死んだってことさ…
- sshでrootログインの禁止
- database.ymlの設定方法
- Railsライクなフレームワーク「CakePHP」①
- Rails導入でRuby標準クラスへ追加される関数達(String編)
- Rubyのマニュアルを手軽に参照する方法
- railsで画像などファイルをアップロードする方法
- 遠隔地のチョロQを操縦する方法 with JavaScript, AJAX, Rails, Gainer, Webカメラ, and USTREAM.TV
- Ruby on Railsで作られたradMineのカスタマイズ1 ~インストール編~
- MacBook AirのレビューとLet's noteとの比較
- Rails プラグイン : CSS Graphsの使い方(そしてちょっとだけ改造)
- Railsの開発でscreenを使う理由
- ActiveRecordのconditionsを綺麗に書くTips2つ
- [Rails 2.0]起動時のファイルの読み込みの順番がわかった!
- RailsのActionMailer(Tmail)でドットの連続などのRFC違反している携帯メールアドレスに対応する
- スパムを消して消して、もう消しまくって こうなりました。
- Ruby on Railsでacts_as_paranoidを使い倒す
- fastladderをrailroadで図を作ってみる。
- [書評] 他言語開発経験者でも、初心者でも、本屋で「チラ見」して確認してみよう
- ヘルパーメソッド
- Ruby標準csv遅い
- Linux2.6系の脆弱性でroot権限奪ってみた
- railsで開発したダイエットサイトとそのソースコード
- fastladderを試してみました ~rails2.0~
- HeartBeatの設定
- Railsの手動インストール
- Railsで「Lost connection to MySQL server during query」に遭遇した場合の対策
- RadiantCMSのインストール(2)
- Linuxとかのbashで使えるショートカットキーをまとめた一覧
- 長い文字列をカットして表示するプログラム
- SLこまんどの設定
- Rails プラグイン : Rails Widgets >Tabnavの使い方
- Scaffoldはどこからくるの? 後編
- ローカルメールサーバーでRailsでのメール受信のテストを便利に
- HTMLエスケープ
- aptanaのインストールと使い方について
- railroadを用いたER図作成
- RailsでAmazon APIを利用する
- ちょっとしたスペルミスなどで、時間を無駄にした経験があるなら ( カラー表示で編集しやすく )
- ちょー入門、Webサーバ構築で知ってて損をしない用語(2)
- Ruby on Rails ってなになに?
- 最近!流行りの、「Ruby」 知ってますか?
- RubyGems って単語よく出てきますよね?
- CentOS5とaptanaを使ったWindows開発環境 1
- gemコマンドの紹介
- ちょー入門、Webサーバ構築で知ってて損をしない用語(1)
- こんな人がこのブログを書いて・・・
- RadiantCMSのインストール(1)
- RubyでActiveRecordを使わないでDBに接続する方法
- Railsのキャッシュ機能を用いて動的ページを静的ページにする方法を紹介
- Rails 2.0のセキュリティ面の変更点
- DRBDのインストール
- Rails プラグイン : ColumnCommentsの使い方
- Scaffoldはどこからくるの? 前編
- RMagickの使い方
- Ruby on Rails インストール for Windows
saronpasuのアーカイブ
プロフィール
- saronpasu
- RubyやRuby on Railsで開発して行く上でのTipsや、トラブルにぶつかった際の解決方法なんかを公開して行きます。



