From bfe0348889d17737b91604d48c529d31ab8b9c1c Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 13 Aug 2010 11:30:24 -0700 Subject: table responds to where, column info is cached --- lib/arel/table.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/arel') diff --git a/lib/arel/table.rb b/lib/arel/table.rb index 3d0fae07b4..4c0404b492 100644 --- a/lib/arel/table.rb +++ b/lib/arel/table.rb @@ -6,16 +6,21 @@ module Arel attr_reader :name, :engine def initialize name, engine = Table.engine - @name = name - @engine = engine + @name = name + @engine = engine + @columns = nil end def tm TreeManager.new(@engine).from(self) end + def where condition + tm.where condition + end + def columns - @engine.connection.columns(@name, "#{@name} Columns").map do |column| + @columns ||= @engine.connection.columns(@name, "#{@name} Columns").map do |column| Attributes.for(column).new self, column.name, column end end -- cgit v1.2.3