From 5d7cad60799179e2ac6c1a7505980c85a775c55a Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 13 Aug 2010 11:53:36 -0700 Subject: Table.new can take a hash for the second param --- lib/arel/table.rb | 7 ++++--- 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 -- cgit v1.2.3