Class Rascut::Asdoc::Generator
In: lib/rascut/asdoc/generator.rb
Parent: Object

Methods

Included Modules

Utils

Attributes

asdoc  [RW] 

Public Class methods

[Source]

    # 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

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # File lib/rascut/asdoc/generator.rb, line 41
41:       def generate_list_by_source_path(source_path)
42:           generate_list(path_escape(source_path.to_s))
43:       end

[Validate]