aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel')
-rw-r--r--lib/arel/table.rb11
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