- 概要
RDocについて説明します。
- RDocとは
Rubyのソースコード中のコメントを元にドキュメントを出力します。
JavaのJavaDocにあたるものですね。
JavaDocとの相違点は、HTMLの代わりに独自の文法を利用することも可能で
シンプルに表示内容の整形を行えること。
JavaDocの/** **/ のような専用のコメントを利用しなくてもよい。
出力されたファイルにソースコードが表示される
(メソッド名をクリックするとメソッドのコードを確認出来る!)
- RDocの実行
rbファイルのある階層でrdocコマンドを実行。
コマンドの詳細などはrdoc --help参照。
- RDocのサンプル
先日作成したDateUtil.rbを参考にして
RDocを生成します。
-
- DateUtieのRDoc対応版
=begin rdoc =日付ユーティリティ 日付関連の処理を行います。 ===Author tbpgr ===Create 2012/01/30 ===Update 2012/01/30 =end class DateUtil =begin rdoc ==日時減算処理 日時TOから日時FROMを引いた値を返却する ===Param timeFrom 日時FROM ===Param timeFrom 日時TO ===Return 日時の差分 ===Contract 日時FROM>=日時FROMかつ24時間未満なら計算結果を返却する ===Contract 日時FROM>=日時FROMかつ24時間以上なら「時刻が不正です」というメッセージを返却する ===Contract 日時FROM<日時FROMなら「時刻が不正です」というメッセージを返却する =end def self.calcDateDiff(timeFrom, timeTo) dateDiff = timeTo - timeFrom case dateDiff when 0..86399 diffHour = (dateDiff/3600).to_i diffMinute = ((dateDiff-(3600*diffHour))/60).to_i diffSec = (dateDiff-(60*(diffMinute))-(3600*(diffHour))).to_i ret = "#{diffHour}時間#{diffMinute}分#{diffSec}秒" # 比較結果(エラー) else "時刻が不正です\n" end end =begin rdoc ==年月日時分秒の文字列から年を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 年部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:2012 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 年文字列 ===Contract 引数の文字列の1文字目から4文字分を返却する ===Contract 文字数が3文字以下の場合は例外発生 =end def self.getYear(yyyymmddhhssmm) yyyymmddhhssmm.slice(0,4) end =begin rdoc ==年月日時分秒の文字列から月を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 月部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:01 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 月文字列 ===Contract 引数の文字列の6文字目から2文字分を返却する ===Contract 文字数が1文字以下の場合は例外発生 =end def self.getMonth(yyyymmddhhssmm) yyyymmddhhssmm.slice(5,2) end =begin rdoc ==年月日時分秒の文字列から日を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 月部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:30 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 日文字列 ===Contract 引数の文字列の9文字目から2文字分を返却する ===Contract 文字数が1文字以下の場合は例外発生 =end def self.getDay(yyyymmddhhssmm) yyyymmddhhssmm.slice(8,2) end =begin rdoc ==年月日時分秒の文字列から時を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 時部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:00 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 時文字列 ===Contract 引数の文字列の12文字目から2文字分を返却する ===Contract 文字数が1文字以下の場合は例外発生 =end def self.getHour(yyyymmddhhssmm) yyyymmddhhssmm.slice(11,2) end =begin rdoc ==年月日時分秒の文字列から分を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 分部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:38 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 分文字列 ===Contract 引数の文字列の15文字目から2文字分を返却する ===Contract 文字数が1文字以下の場合は例外発生 =end def self.getMinutes(yyyymmddhhssmm) yyyymmddhhssmm.slice(14,2) end =begin rdoc ==年月日時分秒の文字列から秒を取得 yyyy/mm/dd hh:ss:mm形式の文字列から 秒部分のみを取得する。 例) 入力:2012/01/30 00:38:05 出力:05 ===Param yyyymmddhhssmm 年月日時分秒の文字列 ===Return 秒文字列 ===Contract 引数の文字列の18文字目から2文字分を返却する ===Contract 文字数が1文字以下の場合は例外発生 =end def self.getSeconds(yyyymmddhhssmm) yyyymmddhhssmm.slice(17,2) end end
-
- RDoc出力イメージ
ソースコードの確認も可能