From b1acebaaf0823c093853ade5700bbf5117b4f31a Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Wed, 12 Mar 2008 23:31:18 -0700 Subject: - renamed scalar to value - added better test coverage and documentation of binary spec #to_sql --- lib/active_relation/extensions/array.rb | 2 +- lib/active_relation/extensions/object.rb | 2 +- lib/active_relation/primitives.rb | 2 +- lib/active_relation/primitives/scalar.rb | 25 ------------------------- lib/active_relation/primitives/value.rb | 25 +++++++++++++++++++++++++ lib/active_relation/sql.rb | 14 +++++++------- 6 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 lib/active_relation/primitives/scalar.rb create mode 100644 lib/active_relation/primitives/value.rb (limited to 'lib') diff --git a/lib/active_relation/extensions/array.rb b/lib/active_relation/extensions/array.rb index aa4354a78a..4bd20d8121 100644 --- a/lib/active_relation/extensions/array.rb +++ b/lib/active_relation/extensions/array.rb @@ -2,7 +2,7 @@ class Array def to_hash Hash[*flatten] end - + def to_sql(strategy = nil) "(#{collect(&:to_sql).join(', ')})" end diff --git a/lib/active_relation/extensions/object.rb b/lib/active_relation/extensions/object.rb index c1269ee37b..ab874150ed 100644 --- a/lib/active_relation/extensions/object.rb +++ b/lib/active_relation/extensions/object.rb @@ -8,7 +8,7 @@ class Object end def bind(relation) - ActiveRelation::Scalar.new(self, relation) + ActiveRelation::Value.new(self, relation) end def metaclass diff --git a/lib/active_relation/primitives.rb b/lib/active_relation/primitives.rb index 7629256034..9909734d24 100644 --- a/lib/active_relation/primitives.rb +++ b/lib/active_relation/primitives.rb @@ -1,4 +1,4 @@ require 'active_relation/primitives/attribute' -require 'active_relation/primitives/scalar' +require 'active_relation/primitives/value' require 'active_relation/primitives/expression' diff --git a/lib/active_relation/primitives/scalar.rb b/lib/active_relation/primitives/scalar.rb deleted file mode 100644 index d428541a50..0000000000 --- a/lib/active_relation/primitives/scalar.rb +++ /dev/null @@ -1,25 +0,0 @@ -module ActiveRelation - class Scalar - attr_reader :value, :relation - - def initialize(value, relation) - @value, @relation = value, relation - end - - def to_sql(strategy = Sql::Predicate.new(relation.engine)) - strategy.scalar value - end - - def format(object) - object.to_sql(Sql::Scalar.new(relation.engine)) - end - - def ==(other) - value == other.value - end - - def qualify - self - end - end -end \ No newline at end of file diff --git a/lib/active_relation/primitives/value.rb b/lib/active_relation/primitives/value.rb new file mode 100644 index 0000000000..ce9497cf34 --- /dev/null +++ b/lib/active_relation/primitives/value.rb @@ -0,0 +1,25 @@ +module ActiveRelation + class Value + attr_reader :value, :relation + + def initialize(value, relation) + @value, @relation = value, relation + end + + def to_sql(strategy = Sql::Predicate.new(relation.engine)) + strategy.value value + end + + def format(object) + object.to_sql(Sql::Value.new(relation.engine)) + end + + def ==(other) + value == other.value + end + + def qualify + self + end + end +end \ No newline at end of file diff --git a/lib/active_relation/sql.rb b/lib/active_relation/sql.rb index ff00223ce7..fb2177a55b 100644 --- a/lib/active_relation/sql.rb +++ b/lib/active_relation/sql.rb @@ -29,8 +29,8 @@ module ActiveRelation "#{quote_table_name(relation_name)}.#{quote_column_name(attribute_name)}" end - def scalar(scalar, column = nil) - quote(scalar, column) + def value(value, column = nil) + quote(value, column) end def select(select_sql, aliaz) @@ -39,8 +39,8 @@ module ActiveRelation end class Selection < Formatter - def scalar(scalar) - scalar + def value(value) + value end end @@ -61,12 +61,12 @@ module ActiveRelation @attribute, @engine = attribute, attribute.engine end - def scalar(scalar) - quote(scalar, @attribute.column) + def value(value) + quote(value, @attribute.column) end end - class Scalar < Predicate + class Value < Predicate end end end \ No newline at end of file -- cgit v1.2.3