aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/attributes
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-12-29 11:24:44 -0700
committerSean Griffin <sean@thoughtbot.com>2014-12-29 11:27:32 -0700
commit6160bfbda1d1781c3b08a33ec4955f170e95be11 (patch)
tree82f04cf6f61d64e3950acaef60b937bf7432c371 /lib/arel/attributes
parent008445d6fd5f825d9b445ac75a7be67f0f7ab52c (diff)
downloadrails-6160bfbda1d1781c3b08a33ec4955f170e95be11.tar.gz
rails-6160bfbda1d1781c3b08a33ec4955f170e95be11.tar.bz2
rails-6160bfbda1d1781c3b08a33ec4955f170e95be11.zip
Allow a type caster to be given to the `Arel::Table` object
This will allow most consuming code to avoid the deprecation introduced in 008445d6fd5f825d9b445ac75a7be67f0f7ab52c. The only code which will be affected is code that is building the `Arel::Table` object manually, rather than calling `arel_table` on an Active Record class. Hopefully this case will be rare enough that we don't need to introduce any additional APIs to work around it.
Diffstat (limited to 'lib/arel/attributes')
-rw-r--r--lib/arel/attributes/attribute.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/arel/attributes/attribute.rb b/lib/arel/attributes/attribute.rb
index 0906fa4f1d..cda5a5a3db 100644
--- a/lib/arel/attributes/attribute.rb
+++ b/lib/arel/attributes/attribute.rb
@@ -12,6 +12,14 @@ module Arel
def lower
relation.lower self
end
+
+ def type_cast_for_database(value)
+ relation.type_cast_for_database(name, value)
+ end
+
+ def able_to_type_cast?
+ relation.able_to_type_cast?
+ end
end
class String < Attribute; end