<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,5 @@
+* Log info to Terminal. [tobie]
+
 * Better error message formatting (nitpicking, really!). [tobie]
 
 * Fix missing descriptions. [tobie]</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ require 'lib/pdoc'
 desc &quot;Builds the documentation&quot;
 task :build_doc do
   source = File.expand_path(File.join(File.dirname(__FILE__), &quot;test&quot;, &quot;fixtures&quot;, &quot;ajax.js&quot;))
-  PDoc::Runner.new(source).render
+  PDoc::Runner.new(source).run
 end
 
 desc &quot;Empties output directory&quot;</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,58 @@
 module PDoc
   class Runner
-    def initialize(source)
-      @generator = Generators::Html::Website
-      @parser_output = parse(source)
+    def initialize(source_file, output_directory = OUTPUT_DIR)
+      @source_file      = source_file
+      @output_directory = output_directory
+      @generator        = Generators::Html::Website
+      @parser           = Parser.new(source)
     end
     
-    def parse(source)
-      string = File.open(source){ |f| f.read }
-      Parser.new(string).parse
+    def source
+      File.open(@source_file){ |f| f.read }
     end
     
-    def render(output = OUTPUT_DIR)
-      @generator.new(@parser_output).render(output)
+    def parse
+      log &quot;Parsing source file: #{@source_file}.&quot;
+      start_time = Time.new
+      @parser_output = @parser.parse
+      log &quot;Parsing completed in #{Time.new - start_time} seconds.&quot;
+    end
+    
+    def render
+      log &quot;Generating documentation to: #{@output_directory}.&quot;
+      start_time = Time.new
+      @generator.new(@parser_output).render(@output_directory)
+      log &quot;Documentation generated in #{Time.new - start_time} seconds.&quot;
+    end
+    
+    def run
+      puts &quot;\n&quot;
+      parse
+      render
+      log summary
+    end
+    
+    def summary
+      &lt;&lt;-EOS
+  
+    Summary:
+      Sections:            #{@parser_output.sections.length}
+      Utilities:           #{@parser_output.utilities.length}
+      Namespaces:          #{@parser_output.namespaces.length}
+      Mixins:              #{@parser_output.mixins.length}
+      Classes:             #{@parser_output.klasses.length}
+      Constructor methods: #{@parser_output.constructors.length}
+      Constants:           #{@parser_output.constants.length}
+      Class methods:       #{@parser_output.klass_methods.length}
+      Instance methods:    #{@parser_output.instance_methods.length}
+      Class properties:    #{@parser_output.klass_properties.length}
+      Instance properties: #{@parser_output.instance_properties.length}
+
+      EOS
+    end
+    
+    def log(message)
+      puts &quot;    #{message}&quot;
     end
   end
 end
\ No newline at end of file</diff>
      <filename>lib/pdoc/runner.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cb562280a38df7b8f83c1a2662a27ba0ce63a1e6</id>
    </parent>
  </parents>
  <author>
    <name>Tobie Langel</name>
    <email>tobie.langel@gmail.com</email>
  </author>
  <url>http://github.com/tobie/pdoc/commit/cac8c95951a4f7a08e5532f072807018e7ed1d43</url>
  <id>cac8c95951a4f7a08e5532f072807018e7ed1d43</id>
  <committed-date>2008-04-14T16:46:11-07:00</committed-date>
  <authored-date>2008-04-14T16:46:11-07:00</authored-date>
  <message>Log info to Terminal.</message>
  <tree>99886a91bca2b513785c52f21d8daee1572986fd</tree>
  <committer>
    <name>Tobie Langel</name>
    <email>tobie.langel@gmail.com</email>
  </committer>
</commit>
