diff options
author | Sean Griffin <sean@thoughtbot.com> | 2015-02-15 14:21:01 -0700 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2015-02-15 14:23:17 -0700 |
commit | 265dcb779dd4bfd9745e0131f585749d7034c3c7 (patch) | |
tree | b522ffcf5a29bf0a260d811a0d1cbcb84f2262bb /activerecord/lib/active_record/type.rb | |
parent | 8c837e5fcc2a3ac639b3b93b0024bd2c20d3b6ed (diff) | |
download | rails-265dcb779dd4bfd9745e0131f585749d7034c3c7.tar.gz rails-265dcb779dd4bfd9745e0131f585749d7034c3c7.tar.bz2 rails-265dcb779dd4bfd9745e0131f585749d7034c3c7.zip |
Register adapter specific types with the global type registry
We do this in the adapter classes specifically, so the types aren't
registered if we don't use that adapter. Constants under the PostgreSQL
namespace for example are never loaded if we're using mysql.
Diffstat (limited to 'activerecord/lib/active_record/type.rb')
-rw-r--r-- | activerecord/lib/active_record/type.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/type.rb b/activerecord/lib/active_record/type.rb index 7ce0370d8b..cddd56a20d 100644 --- a/activerecord/lib/active_record/type.rb +++ b/activerecord/lib/active_record/type.rb @@ -27,9 +27,7 @@ module ActiveRecord class << self attr_accessor :registry # :nodoc: - def register(*args) - registry.register(*args) - end + delegate :register, :add_modifier, to: :registry def lookup(*args, adapter: current_adapter_name, **kwargs) registry.lookup(*args, adapter: adapter, **kwargs) @@ -41,5 +39,17 @@ module ActiveRecord ActiveRecord::Base.connection.adapter_name.downcase.to_sym end end + + register(:big_integer, Type::BigInteger, override: false) + register(:binary, Type::Binary, override: false) + register(:boolean, Type::Boolean, override: false) + register(:date, Type::Date, override: false) + register(:date_time, Type::DateTime, override: false) + register(:decimal, Type::Decimal, override: false) + register(:float, Type::Float, override: false) + register(:integer, Type::Integer, override: false) + register(:string, Type::String, override: false) + register(:text, Type::Text, override: false) + register(:time, Type::Time, override: false) end end |