<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -136,3 +136,4 @@ Tien Dung           http://github.com/tiendung
 Factory Design Labs http://github.com/factorylabs
 Mike Mondragon      http://github.com/monde
 Tero Tilus          http://github.com/terotil
+Bruno Michel        http://github.com/nono</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 APP_NAME       = &quot;railroad&quot;
 APP_HUMAN_NAME = &quot;RailRoad&quot;
-APP_VERSION    = [0,7,3]
+APP_VERSION    = [0,7,4]
 COPYRIGHT      = &quot;Copyright (C) 2007-2008 Javier Smaldone&quot;
 
 require 'railroad/options_struct'</diff>
      <filename>lib/railroad.rb</filename>
    </modified>
    <modified>
      <diff>@@ -28,7 +28,7 @@ class AasmDiagram &lt; AppDiagram
     end
   end
   
-  private
+private
   
   # Load model classes
   def load_classes
@@ -37,7 +37,7 @@ class AasmDiagram &lt; AppDiagram
       files = Dir.glob(&quot;app/models/**/*.rb&quot;)
       files += Dir.glob(&quot;vendor/plugins/**/app/models/*.rb&quot;) if @options.plugins_models
       files -= @options.exclude                  
-      files.each {|m| require m }
+      files.each {|file| get_model_class(file) }
       enable_stdout
     rescue LoadError
       enable_stdout
@@ -46,6 +46,22 @@ class AasmDiagram &lt; AppDiagram
     end
   end  # load_classes
 
+  # This method is taken from the annotate models gem
+  # http://github.com/ctran/annotate_models/tree/master
+  #
+  # Retrieve the classes belonging to the model names we're asked to process
+  # Check for namespaced models in subdirectories as well as models
+  # in subdirectories without namespacing.
+  def get_model_class(file)
+    model = file.sub(/^.*app\/models\//, '').sub(/\.rb$/, '').camelize
+    parts = model.split('::')
+    begin
+      parts.inject(Object) {|klass, part| klass.const_get(part) }
+    rescue LoadError
+      Object.const_get(parts.last)
+    end
+  end
+
   # Process a model class
   def process_class(current_class)
     </diff>
      <filename>lib/railroad/aasm_diagram.rb</filename>
    </modified>
    <modified>
      <diff>@@ -63,9 +63,7 @@ class ModelsDiagram &lt; AppDiagram
       files = Dir.glob(&quot;app/models/**/*.rb&quot;)
       files += Dir.glob(&quot;vendor/plugins/**/app/models/*.rb&quot;) if @options.plugins_models
       files -= @options.exclude
-      files.each do |m|
-        require m
-      end
+      files.each {|file| get_model_class(file) }
       enable_stdout
     rescue LoadError
       enable_stdout
@@ -74,6 +72,22 @@ class ModelsDiagram &lt; AppDiagram
     end
   end  # load_classes
 
+  # This method is taken from the annotate models gem
+  # http://github.com/ctran/annotate_models/tree/master
+  #
+  # Retrieve the classes belonging to the model names we're asked to process
+  # Check for namespaced models in subdirectories as well as models
+  # in subdirectories without namespacing.
+  def get_model_class(file)
+    model = file.sub(/^.*app\/models\//, '').sub(/\.rb$/, '').camelize
+    parts = model.split('::')
+    begin
+      parts.inject(Object) {|klass, part| klass.const_get(part) }
+    rescue LoadError
+      Object.const_get(parts.last)
+    end
+  end
+
   # Process a model class
   def process_class(current_class)
 </diff>
      <filename>lib/railroad/models_diagram.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,24 +1,23 @@
 Gem::Specification.new do |s|
-  s.name = %q{railroad}
-  s.version = &quot;0.7.3&quot;
-
+  s.name = &quot;railroad&quot;
+  s.version = &quot;0.7.4&quot;
 
   s.required_rubygems_version = Gem::Requirement.new(&quot;&gt;= 0&quot;) if s.respond_to? :required_rubygems_version=
-  s.authors = [&quot;Javier Smaldone&quot;, &quot;Thomas Ritz&quot;, &quot;Tien Dung&quot;, &quot;Factory Design Labs&quot;, &quot;Mike Mondragon&quot;, &quot;Tero Tilus&quot;, &quot;David Dollar&quot;]
-  s.date = %q{2009-02-18}
-  s.default_executable = %q{railroad}
-  s.description = %q{}
-  s.email = %q{javier@smaldone.com.ar}
+  s.authors = [&quot;Javier Smaldone&quot;, &quot;Thomas Ritz&quot;, &quot;Tien Dung&quot;, &quot;Factory Design Labs&quot;, &quot;Mike Mondragon&quot;, &quot;Tero Tilus&quot;, &quot;David Dollar&quot;, &quot;Bruno Michel&quot;]
+  s.date = &quot;2009-03-13&quot;
+  s.default_executable = &quot;railroad&quot;
+  s.description = &quot;RailRoad is a class diagrams generator for Ruby on Rails applications.&quot;
+  s.email = &quot;javier@smaldone.com.ar&quot;
   s.executables = [&quot;railroad&quot;]
   s.extra_rdoc_files = [&quot;History.txt&quot;, &quot;Manifest.txt&quot;, &quot;README.txt&quot;]
   s.files = [&quot;COPYING&quot;, &quot;ChangeLog&quot;, &quot;History.txt&quot;, &quot;Manifest.txt&quot;, &quot;README.txt&quot;, &quot;Rakefile&quot;, &quot;bin/railroad&quot;, &quot;init.rb&quot;, &quot;lib/railroad.rb&quot;, &quot;lib/railroad/aasm_diagram.rb&quot;, &quot;lib/railroad/app_diagram.rb&quot;, &quot;lib/railroad/controllers_diagram.rb&quot;, &quot;lib/railroad/diagram_graph.rb&quot;, &quot;lib/railroad/models_diagram.rb&quot;, &quot;lib/railroad/options_struct.rb&quot;, &quot;tasks/diagrams.rake&quot;]
   s.has_rdoc = true
-  s.homepage = %q{http://railroad.rubyforge.org}
+  s.homepage = &quot;http://railroad.rubyforge.org&quot;
   s.rdoc_options = [&quot;--main&quot;, &quot;README.txt&quot;]
   s.require_paths = [&quot;lib&quot;]
-  s.rubyforge_project = %q{railroad}
-  s.rubygems_version = %q{1.2.0}
-  s.summary = %q{A DOT diagram generator for Ruby on Rail applications}
+  s.rubyforge_project = &quot;railroad&quot;
+  s.rubygems_version = &quot;1.2.0&quot;
+  s.summary = &quot;A DOT diagram generator for Ruby on Rail applications&quot;
 
   if s.respond_to? :specification_version then
     current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION</diff>
      <filename>railroad.gemspec</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7c6d7314b3286ac0569bfca156b0ad34ad96329f</id>
    </parent>
  </parents>
  <author>
    <name>Bruno Michel</name>
    <email>bmichel@menfin.info</email>
  </author>
  <url>http://github.com/ddollar/railroad/commit/70b77a233d298356178a10f253f8d201cf5cad40</url>
  <id>70b77a233d298356178a10f253f8d201cf5cad40</id>
  <committed-date>2009-03-13T06:08:03-07:00</committed-date>
  <authored-date>2009-03-13T06:08:03-07:00</authored-date>
  <message>Use autoload insted of require for models to avoid loading them twice</message>
  <tree>204a4508f2b76113ef3543f17b16c18159ce53cc</tree>
  <committer>
    <name>Bruno Michel</name>
    <email>bmichel@menfin.info</email>
  </committer>
</commit>
