diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-13 11:53:36 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-13 11:53:36 -0700 |
commit | 5d7cad60799179e2ac6c1a7505980c85a775c55a (patch) | |
tree | bcd7852aa8d8d9d05218b1da789dc0e5b86003bd | |
parent | bfe0348889d17737b91604d48c529d31ab8b9c1c (diff) | |
download | rails-5d7cad60799179e2ac6c1a7505980c85a775c55a.tar.gz rails-5d7cad60799179e2ac6c1a7505980c85a775c55a.tar.bz2 rails-5d7cad60799179e2ac6c1a7505980c85a775c55a.zip |
Table.new can take a hash for the second param
-rw-r--r-- | lib/arel/table.rb | 7 | ||||
-rw-r--r-- | spec/arel/table_spec.rb | 12 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/arel/table.rb b/lib/arel/table.rb index 4c0404b492..1b37a3b66b 100644 --- a/lib/arel/table.rb +++ b/lib/arel/table.rb @@ -6,9 +6,10 @@ module Arel attr_reader :name, :engine def initialize name, engine = Table.engine - @name = name - @engine = engine - @columns = nil + @name = name + @engine = engine + @engine = engine[:engine] if Hash === engine + @columns = nil end def tm diff --git a/spec/arel/table_spec.rb b/spec/arel/table_spec.rb index b68fdd5a3d..67024f5c52 100644 --- a/spec/arel/table_spec.rb +++ b/spec/arel/table_spec.rb @@ -6,6 +6,18 @@ module Arel @relation = Table.new(:users) end + describe 'new' do + it 'should accept an engine' do + rel = Table.new :users, 'foo' + rel.engine.should == 'foo' + end + + it 'should accept a hash' do + rel = Table.new :users, :engine => 'foo' + rel.engine.should == 'foo' + end + end + describe 'where' do it "returns a tree manager" do manager = @relation.where @relation[:id].eq 1 |