diff options
author | Bryan Helmkamp <bryan@brynary.com> | 2009-05-17 16:42:17 -0400 |
---|---|---|
committer | Bryan Helmkamp <bryan@brynary.com> | 2009-05-17 16:42:17 -0400 |
commit | ed8e0f9c02c291a51f93a2123e099d07756d75bb (patch) | |
tree | 7d46f462a3ea533bcec0287c3f582f40d60e5729 /lib/arel/engines | |
parent | 0352d28a56de36946e691a0df390cfdfa7b1de7c (diff) | |
download | rails-ed8e0f9c02c291a51f93a2123e099d07756d75bb.tar.gz rails-ed8e0f9c02c291a51f93a2123e099d07756d75bb.tar.bz2 rails-ed8e0f9c02c291a51f93a2123e099d07756d75bb.zip |
Include modules to extend core classes to improve inspectability
Diffstat (limited to 'lib/arel/engines')
-rw-r--r-- | lib/arel/engines/sql/extensions/array.rb | 19 | ||||
-rw-r--r-- | lib/arel/engines/sql/extensions/nil_class.rb | 12 | ||||
-rw-r--r-- | lib/arel/engines/sql/extensions/object.rb | 18 | ||||
-rw-r--r-- | lib/arel/engines/sql/extensions/range.rb | 18 |
4 files changed, 46 insertions, 21 deletions
diff --git a/lib/arel/engines/sql/extensions/array.rb b/lib/arel/engines/sql/extensions/array.rb index d97dd1aa25..7f15179721 100644 --- a/lib/arel/engines/sql/extensions/array.rb +++ b/lib/arel/engines/sql/extensions/array.rb @@ -1,9 +1,16 @@ -class Array - def to_sql(formatter = nil) - "(" + collect { |e| e.to_sql(formatter) }.join(', ') + ")" - end +module Arel + module Sql + module ArrayExtensions + def to_sql(formatter = nil) + "(" + collect { |e| e.to_sql(formatter) }.join(', ') + ")" + end - def inclusion_predicate_sql - "IN" + def inclusion_predicate_sql + "IN" + end + + Array.send(:include, self) + end end end + diff --git a/lib/arel/engines/sql/extensions/nil_class.rb b/lib/arel/engines/sql/extensions/nil_class.rb index 6f38ecdf3a..8c335f904a 100644 --- a/lib/arel/engines/sql/extensions/nil_class.rb +++ b/lib/arel/engines/sql/extensions/nil_class.rb @@ -1,5 +1,11 @@ -class NilClass - def equality_predicate_sql - 'IS' +module Arel + module Sql + module NilClassExtensions + def equality_predicate_sql + 'IS' + end + + NilClass.send(:include, self) + end end end diff --git a/lib/arel/engines/sql/extensions/object.rb b/lib/arel/engines/sql/extensions/object.rb index 65270ee3de..8fe63dba2f 100644 --- a/lib/arel/engines/sql/extensions/object.rb +++ b/lib/arel/engines/sql/extensions/object.rb @@ -1,9 +1,15 @@ -class Object - def to_sql(formatter) - formatter.scalar self - end +module Arel + module Sql + module ObjectExtensions + def to_sql(formatter) + formatter.scalar self + end - def equality_predicate_sql - '=' + def equality_predicate_sql + '=' + end + + Object.send(:include, self) + end end end diff --git a/lib/arel/engines/sql/extensions/range.rb b/lib/arel/engines/sql/extensions/range.rb index 946dbc2633..25bf1d01da 100644 --- a/lib/arel/engines/sql/extensions/range.rb +++ b/lib/arel/engines/sql/extensions/range.rb @@ -1,9 +1,15 @@ -class Range - def to_sql(formatter = nil) - formatter.range self.begin, self.end - end +module Arel + module Sql + module RangeExtensions + def to_sql(formatter = nil) + formatter.range self.begin, self.end + end - def inclusion_predicate_sql - "BETWEEN" + def inclusion_predicate_sql + "BETWEEN" + end + + Range.send(:include, self) + end end end |