From 752813016ed227ecfbe0bf69c92de2e2c3e7a988 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Fri, 1 Jan 2010 22:54:23 +0530 Subject: Add support for table aliasing Example : users = Table(:users, :as => :accounts) users.to_sql => SELECT `accounts`.`id`, `accounts`.`name` FROM `users` AS `accounts` --- spec/arel/engines/sql/unit/relations/table_spec.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'spec/arel/engines/sql/unit/relations/table_spec.rb') diff --git a/spec/arel/engines/sql/unit/relations/table_spec.rb b/spec/arel/engines/sql/unit/relations/table_spec.rb index 92e4549028..977eb343e3 100644 --- a/spec/arel/engines/sql/unit/relations/table_spec.rb +++ b/spec/arel/engines/sql/unit/relations/table_spec.rb @@ -26,6 +26,26 @@ module Arel end end + describe '#as' do + it "manufactures a simple select query using aliases" do + sql = @relation.as(:super_users).to_sql + + adapter_is :mysql do + sql.should be_like(%Q{ + SELECT `super_users`.`id`, `super_users`.`name` + FROM `users` AS `super_users` + }) + end + + adapter_is_not :mysql do + sql.should be_like(%Q{ + SELECT "super_users"."id", "super_users"."name" + FROM "users" AS "super_users" + }) + end + end + end + describe '#column_for' do it "returns the column corresponding to the attribute" do @relation.column_for(@relation[:id]).should == @relation.columns.detect { |c| c.name == 'id' } -- cgit v1.2.3