バリケンのRuby日記 RSSフィード

2007-03-06

[] rdefs  rdefs - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  rdefs - バリケンのRuby日記  rdefs - バリケンのRuby日記 のブックマークコメント

青木峰郎さんのサイト紹介されていた「rdefs」というツールが便利そう!

rdefsは、引数で指定したrubyスクリプトに定義されているクラスとメソッドをリストアップしてくれるツールだよ。じゃあ、昨日話題にしたndiary」の「ndiary-lib.rb」をrdefsで調べてみることにするよ。

ruby rdefs.rb ndiary-lib.rb

実行結果だよ(昨日の日記で書いたけど、ConfigクラスはNDiaryConfigクラスに変更しているよ)。

class NDiaryError < StandardError; end
class NDiaryFatalError < NDiaryError; end
module DiaryModule
  attr_reader :logDirectory
  attr_reader :outputDirectory
  attr_accessor :userPluginDirectory
  def typo_fix
  def isXHTML
  def tag_br(str = '')
  def tag_hr(str = '')
  def setlogDirectory(dir)
  def setoutputDirectory(dir)
  def setmonthlyFilename(str)
  def logDirectory=(dir);         setlogDirectory(dir);         end
  def outputDirectory=(dir);      setoutputDirectory(dir);      end
  def monthlyFilename=(filename); setmonthlyFilename(filename); end
  def first_date_of_month(month)
  def date2monthlyfilename(date)
  def date2fileanchor(date)
  def date2monthlyfilelink(date, anchor = nil)
  def loadplugin(line)
class Filter
  attr_reader :diary
  def initialize(filterlist = [], ufdir = nil)
  def parentdiary=(diary)
  def filter(str, type)
class Diary
  include DiaryModule
  attr_accessor :latestFilename
  attr_reader   :monthlyFilename
  attr_accessor :monthPartNames
  attr_accessor :showVersion
  attr_accessor :format
  attr_accessor :months
  attr_accessor :date
  attr_accessor :header
  attr_accessor :topicChar
  attr_accessor :outputDirectory
  attr_writer   :tag_date
  attr_writer   :tag_topic
  attr_accessor :paragraphAnchor 
  attr_accessor :anchorEachTopic
  attr_accessor :lf2br
  attr_accessor :getDateByTimestamp
  attr_accessor :splithtml
  attr_accessor :skelton
  attr_accessor :outputKcode
  attr_reader   :config
  attr_reader   :filter
  attr_reader :months
  attr_reader :diaries
  attr_reader :diary
  attr_reader :allDiaries
  attr_reader :filename
  attr_reader :diarys
  attr_reader :allDiarys
  alias_method("allDiarys", "allDiaries")
  alias_method("diarys", "diaries")
  def initialize
  def config=(conf)
  def tag_date
  def tag_topic
  def filter=(f)
  def getDiaries(diary = nil)
  alias getDiarys getDiaries
  private
  def makeParagraph(str)
  def tohtml(date)
  def writeHTML
class LastDiary < Diary
  attr_accessor :maxDiaries
  attr_accessor :topicSortReverse
  alias maxDiarys maxDiaries
  def initialize
  alias maxDiarys maxDiaries
  def config=(conf)
  def tohtml(date)
  def makeHTML
class PastDiary < Diary
  attr_reader :targetMonth
  def initialize
  def config=(conf)
  def targetMonth=(month)
  def makeHTML
class NDiaryConfig
  alias set_original set
  def set(key, val)
class NDiary
  def initialize
  def loadconfig(configfile)
  def setconfig(key, value = nil)
  def initialize_diary
  def makepastdiary(month = nil)
  def makelastdiary
  def maketopiclist
def main

これを見ると、

かなあ?となんとなく想像できるよね。

こんな感じで、知らないRubyスクリプトを読もうと思ったら、まずrdefsで全体を眺めてみるといいみたい。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20070306