diff options
Diffstat (limited to 'lib/arel')
-rw-r--r-- | lib/arel/table.rb | 11 |
1 files changed, 8 insertions, 3 deletions
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 |