aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_relation/sql.rb
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-03-11 23:39:40 -0700
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-03-11 23:39:40 -0700
commit8a62a733c107a33edee8cabc908c3ebc3b280e8b (patch)
tree30d088f5ef2798ee164fb6fe4ea253cef20b3f19 /lib/active_relation/sql.rb
parent12ef6a5ad15078d2f634d3c6cdfc453848f90122 (diff)
downloadrails-8a62a733c107a33edee8cabc908c3ebc3b280e8b.tar.gz
rails-8a62a733c107a33edee8cabc908c3ebc3b280e8b.tar.bz2
rails-8a62a733c107a33edee8cabc908c3ebc3b280e8b.zip
renamed strategy method to format
- strategy (the method on scalar and attribute) is a complex double-dispatching scheme to format (to_sql) a scalar in the light of the particular attribute; that is, it casts strings to integers if the column is int, etc.
Diffstat (limited to 'lib/active_relation/sql.rb')
-rw-r--r--lib/active_relation/sql.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/active_relation/sql.rb b/lib/active_relation/sql.rb
index 99cfc66383..ff00223ce7 100644
--- a/lib/active_relation/sql.rb
+++ b/lib/active_relation/sql.rb
@@ -4,8 +4,8 @@ module ActiveRelation
delegate :quote_table_name, :quote_column_name, :quote, :to => :engine
end
- # module Formatting Context / Strategy # unit test me!!!
- class Strategy
+ # unit test me!!!
+ class Formatter
attr_reader :engine
include Quoting
@@ -14,7 +14,7 @@ module ActiveRelation
end
end
- class Projection < Strategy
+ class Projection < Formatter
def attribute(relation_name, attribute_name, aliaz)
"#{quote_table_name(relation_name)}.#{quote_column_name(attribute_name)}" + (aliaz ? " AS #{quote(aliaz.to_s)}" : "")
end
@@ -24,7 +24,7 @@ module ActiveRelation
end
end
- class Predicate < Strategy
+ class Predicate < Formatter
def attribute(relation_name, attribute_name, aliaz)
"#{quote_table_name(relation_name)}.#{quote_column_name(attribute_name)}"
end
@@ -38,19 +38,19 @@ module ActiveRelation
end
end
- class Selection < Strategy
+ class Selection < Formatter
def scalar(scalar)
scalar
end
end
- class Relation < Strategy
+ class Relation < Formatter
def select(select_sql, aliaz)
select_sql
end
end
- class Aggregation < Strategy
+ class Aggregation < Formatter
def select(select_sql, aliaz)
"(#{select_sql}) AS #{engine.quote_table_name(aliaz)}"
end