<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/arel/algebra.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions/array.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions/class.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions/hash.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions/object.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/extensions/pathname.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/predicates.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/primitives.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/primitives/attribute.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/primitives/expression.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/primitives/value.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/alias.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/group.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/join.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/order.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/project.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/skip.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/take.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/operations/where.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/relation.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/utilities/compound.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/utilities/externalization.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/utilities/nil.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/writes/delete.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/writes/insert.rb</filename>
    </added>
    <added>
      <filename>lib/arel/algebra/relations/writes/update.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/engine.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/predicates.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/primitives.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/primitives/attribute.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/primitives/value.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/relations.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/relations/array.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/memory/relations/operations/where.rb</filename>
    </added>
    <added>
      <filename>lib/arel/engines/sql.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -18,7 +18,7 @@ Generating a query with ARel is simple. For example, in order to produce
    
 you construct a table relation and convert it to sql:
 
-    users = Arel(:users)
+    users = Table(:users)
     users.to_sql
    
 In fact, you will probably never call `#to_sql`. Rather, you'll work with data from the table directly. You can iterate through all rows in the `users` table like this:
@@ -81,7 +81,7 @@ The `AND` operator will behave similarly.
 
 Finally, most operations take a block form. For example:
 
-    Arel(:users)                    \
+    Table(:users)                    \
       .where   { |u| u[:id].eq(1) } \
       .project { |u| u[:id] }
 
@@ -95,7 +95,7 @@ The examples above are fairly simple and other libraries match or come close to
 
 Where Arel really shines in its ability to handle complex joins and aggregations. As a first example, let's consider an &quot;adjacency list&quot;, a tree represented in a table. Suppose we have a table `comments`, representing a threaded discussion:
 
-    comments = Arel(:comments)
+    comments = Table(:comments)
     
 And this table has the following attributes:
 </diff>
      <filename>README.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -5,10 +5,6 @@ require 'activesupport'
 require 'activerecord'
 require 'active_record/connection_adapters/abstract/quoting'
 
-require 'arel/arel'
-require 'arel/extensions'
-require 'arel/predicates'
-require 'arel/relations'
+require 'arel/algebra'
 require 'arel/engines'
 require 'arel/session'
-require 'arel/primitives'</diff>
      <filename>lib/arel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
-require 'arel/engines/sql/sql'
-require 'arel/engines/array/array'
\ No newline at end of file
+require 'arel/engines/sql'
+require 'arel/engines/memory'
\ No newline at end of file</diff>
      <filename>lib/arel/engines.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'set'
-
 module Arel
   class Attribute
     def column</diff>
      <filename>lib/arel/engines/sql/primitives/attribute.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,10 @@
-require 'arel/engines/sql/relations/utilities'
+require 'arel/engines/sql/relations/utilities/recursion'
+require 'arel/engines/sql/relations/utilities/externalization'
+require 'arel/engines/sql/relations/utilities/nil'
 require 'arel/engines/sql/relations/relation'
-require 'arel/engines/sql/relations/operations'
-require 'arel/engines/sql/relations/writes'
-require 'arel/engines/sql/relations/table'
\ No newline at end of file
+require 'arel/engines/sql/relations/table'
+require 'arel/engines/sql/relations/operations/join'
+require 'arel/engines/sql/relations/operations/alias'
+require 'arel/engines/sql/relations/writes/delete'
+require 'arel/engines/sql/relations/writes/insert'
+require 'arel/engines/sql/relations/writes/update'
\ No newline at end of file</diff>
      <filename>lib/arel/engines/sql/relations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -34,3 +34,8 @@ module Arel
     end
   end
 end
+
+def Table(name, engine = Arel::Table.engine)
+  Arel::Table.new(name, engine)
+end
+</diff>
      <filename>lib/arel/engines/sql/relations/table.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'singleton'
-
 module Arel
   class Session
     class &lt;&lt; self</diff>
      <filename>lib/arel/session.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper')
 module Arel
   describe Join do
     before do
-      @relation1 = Arel(:users)
+      @relation1 = Table(:users)
       @relation2 = @relation1.alias
       @predicate = @relation1[:id].eq(@relation2[:id])
     end</diff>
      <filename>spec/arel/integration/joins/with_adjacency_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@ require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper')
 module Arel
   describe Join do
     before do
-      @relation1 = Arel(:users)
-      @relation2 = Arel(:photos)
+      @relation1 = Table(:users)
+      @relation2 = Table(:photos)
       @predicate = @relation1[:id].eq(@relation2[:user_id])
     end
 </diff>
      <filename>spec/arel/integration/joins/with_aggregations_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@ require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper')
 module Arel
   describe Join do
     before do
-      @relation1 = Arel(:users)
-      @relation2 = Arel(:photos)
+      @relation1 = Table(:users)
+      @relation2 = Table(:photos)
       @predicate = @relation1[:id].eq(@relation2[:user_id])
     end
 </diff>
      <filename>spec/arel/integration/joins/with_compounds_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,6 +22,13 @@ module Arel
           { @relation[:id] =&gt; 3 }
         ]
       end
+
+      it '' do
+        @relation.where(@relation[:id].lt(3)).call.should == [
+          { @relation[:id] =&gt; 1 },
+          { @relation[:id] =&gt; 2 }
+        ]
+      end
     end
   end
 end
\ No newline at end of file</diff>
      <filename>spec/arel/unit/relations/array_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/arel/arel.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/array/array.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/array/relations/array.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/sql/relations/operations.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/sql/relations/utilities.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/sql/relations/writes.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/engines/sql/sql.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/extensions.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/extensions/array.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/extensions/class.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/extensions/hash.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/extensions/object.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/predicates.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/primitives.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/primitives/attribute.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/primitives/expression.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/primitives/value.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/alias.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/group.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/join.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/order.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/project.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/skip.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/take.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/operations/where.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/relation.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/utilities.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/utilities/compound.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/utilities/externalization.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/utilities/nil.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/writes.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/writes/delete.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/writes/insert.rb</filename>
    </removed>
    <removed>
      <filename>lib/arel/relations/writes/update.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>bdca9ed42ffea10aa6989ea3ecebedb424fa01ed</id>
    </parent>
  </parents>
  <author>
    <name>Bryan Helmkamp</name>
    <email>bryan@brynary.com</email>
  </author>
  <url>http://github.com/nkallen/arel/commit/7032a50297fce4d7724d1735e81e5df5fd919e71</url>
  <id>7032a50297fce4d7724d1735e81e5df5fd919e71</id>
  <committed-date>2009-05-17T11:31:04-07:00</committed-date>
  <authored-date>2009-05-17T11:31:04-07:00</authored-date>
  <message>reorganized file structures

Conflicts:

	lib/arel.rb
	lib/arel/arel.rb
	lib/arel/engines/memory/predicates.rb
	lib/arel/engines/memory/relations/array.rb
	lib/arel/engines/sql/relations/table.rb</message>
  <tree>c52333abcc7a1454ea6ada7fe5e31e054f4e9540</tree>
  <committer>
    <name>Bryan Helmkamp</name>
    <email>bryan@brynary.com</email>
  </committer>
</commit>
