aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-07-27 20:33:59 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-07-27 20:33:59 -0700
commitbf6fbc4591bd7fe696f48f1db06eec714c0ec790 (patch)
tree02fb2cc426e264ff070571efd288bf7dc3bf90ee
parentc9fa1b47f83f6d07b91fe10922b0e8d042933c1f (diff)
downloadrails-bf6fbc4591bd7fe696f48f1db06eec714c0ec790.tar.gz
rails-bf6fbc4591bd7fe696f48f1db06eec714c0ec790.tar.bz2
rails-bf6fbc4591bd7fe696f48f1db06eec714c0ec790.zip
PERF: reducing delegate methods
-rw-r--r--lib/arel/algebra/attributes/attribute.rb9
-rw-r--r--lib/arel/algebra/relations/relation.rb4
-rw-r--r--lib/arel/engines/sql/formatters.rb1
3 files changed, 13 insertions, 1 deletions
diff --git a/lib/arel/algebra/attributes/attribute.rb b/lib/arel/algebra/attributes/attribute.rb
index 0ad9382a52..770e0950c5 100644
--- a/lib/arel/algebra/attributes/attribute.rb
+++ b/lib/arel/algebra/attributes/attribute.rb
@@ -4,12 +4,19 @@ module Arel
class TypecastError < StandardError ; end
class Attribute
attr_reader :relation, :name, :alias, :ancestor
- delegate :engine, :christener, :to => :relation
def initialize(relation, name, options = {})
@relation, @name, @alias, @ancestor = relation, name, options[:alias], options[:ancestor]
end
+ def engine
+ @relation.engine
+ end
+
+ def christener
+ @relation.christener
+ end
+
def == other
super ||
Attribute === other &&
diff --git a/lib/arel/algebra/relations/relation.rb b/lib/arel/algebra/relations/relation.rb
index 9936b9689f..cb7b30bb3c 100644
--- a/lib/arel/algebra/relations/relation.rb
+++ b/lib/arel/algebra/relations/relation.rb
@@ -41,6 +41,10 @@ module Arel
end
def christener
+ puts "#" * 50
+ puts self.class.name
+ puts caller
+ puts "#" * 50
@christener ||= Sql::Christener.new
end
diff --git a/lib/arel/engines/sql/formatters.rb b/lib/arel/engines/sql/formatters.rb
index 2597beba95..7b0be4ea3b 100644
--- a/lib/arel/engines/sql/formatters.rb
+++ b/lib/arel/engines/sql/formatters.rb
@@ -4,6 +4,7 @@ module Arel
attr_reader :environment, :christener
def initialize(environment)
+ p :formatter => environment.class
@environment = environment
@christener = environment.christener
end