Class | Rascut::Asdoc::Generator |
In: |
lib/rascut/asdoc/generator.rb
|
Parent: | Object |
asdoc | [RW] |
# File lib/rascut/asdoc/generator.rb, line 18 18: def initialize(logger = nil) 19: @logger = Logger.new(STDOUT) 20: @logger.level = Logger::DEBUG 21: @asdoc = 'asdoc' 22: end
# File lib/rascut/asdoc/generator.rb, line 25 25: def generate_asdoc(source_path) 26: @logger.info "generate documents: #{source_path}" 27: cmd = "#{asdoc} -doc-sources '#{source_path}' -output '#{asdoc_home.join(path_escape(source_path.to_s))}'" 28: @logger.debug cmd 29: `#{cmd}` 30: generate_list_by_source_path(source_path) 31: end
# File lib/rascut/asdoc/generator.rb, line 33 33: def generate_asdoc_by_config(flex_config) 34: source = Hpricot(flex_config) 35: files = source.search('source-path path-element').map {|el| Pathname.new(el.inner_text) } 36: files.each do |file| 37: generate_asdoc file.realpath 38: end 39: end
# File lib/rascut/asdoc/generator.rb, line 72 72: def generate_json 73: @logger.info "generate asdoc's index(json)." 74: json = Rascut::Asdoc::Data.asdoc_json 75: asdoc_home.join('asdoc.json').open('w') {|f| f.puts json } 76: end
# File lib/rascut/asdoc/generator.rb, line 45 45: def generate_list(path) 46: @logger.info "generate list" 47: #Pathname.glob("#{asdoc_home}/#{asdoc_dir}").each do |asdoc| 48: asdoc = asdoc_home.join(path) 49: @logger.info "#{asdoc}" 50: Pathname.glob("#{asdoc}/*/**/*.html") do |file| 51: next if file.to_s.match(/((class-list.html)|(package-detail.html))$/) 52: r = Rascut::Asdoc::Parser.new(file.read, @logger) 53: r.parse 54: #pp file.to_s, r.package, r.classname#, r.methods 55: list = { 56: :package => r.package, 57: :classname => r.classname, 58: :methods => r.methods, 59: :filename => file.relative_path_from(asdoc).to_s, 60: :asdoc_dir => asdoc.basename.to_s, 61: } 62: rascut_db do |db| 63: db[:asdoc] ||= {} 64: db[:asdoc][list[:asdoc_dir]] ||= [] 65: db[:asdoc][list[:asdoc_dir]] << list 66: end 67: end 68: #end 69: #generate_json 70: end