aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/type.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2015-02-15 14:21:01 -0700
committerSean Griffin <sean@thoughtbot.com>2015-02-15 14:23:17 -0700
commit265dcb779dd4bfd9745e0131f585749d7034c3c7 (patch)
treeb522ffcf5a29bf0a260d811a0d1cbcb84f2262bb /activerecord/lib/active_record/type.rb
parent8c837e5fcc2a3ac639b3b93b0024bd2c20d3b6ed (diff)
downloadrails-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.rb16
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