aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/type.rb
diff options
context:
space:
mode:
authorKir Shatrov <shatrov@me.com>2015-09-07 21:20:15 +0300
committerSean Griffin <sean@seantheprogrammer.com>2015-09-21 10:12:13 -0600
commit9cc8c6f3730df3d94c81a55be9ee1b7b4ffd29f6 (patch)
tree68a48d84f3d2e1902d94316f781c4aee60a5f798 /activerecord/lib/active_record/type.rb
parentb223d729d823dcf3c6915daa2bf48c028718c465 (diff)
downloadrails-9cc8c6f3730df3d94c81a55be9ee1b7b4ffd29f6.tar.gz
rails-9cc8c6f3730df3d94c81a55be9ee1b7b4ffd29f6.tar.bz2
rails-9cc8c6f3730df3d94c81a55be9ee1b7b4ffd29f6.zip
Move ActiveRecord::Type to ActiveModel
The first step of bringing typecasting to ActiveModel
Diffstat (limited to 'activerecord/lib/active_record/type.rb')
-rw-r--r--activerecord/lib/active_record/type.rb66
1 files changed, 47 insertions, 19 deletions
diff --git a/activerecord/lib/active_record/type.rb b/activerecord/lib/active_record/type.rb
index 53f3b53bec..165043021b 100644
--- a/activerecord/lib/active_record/type.rb
+++ b/activerecord/lib/active_record/type.rb
@@ -1,26 +1,28 @@
-require 'active_record/type/helpers'
-require 'active_record/type/value'
+require 'active_model/type/helpers'
+require 'active_model/type/value'
-require 'active_record/type/big_integer'
-require 'active_record/type/binary'
-require 'active_record/type/boolean'
-require 'active_record/type/date'
-require 'active_record/type/date_time'
-require 'active_record/type/decimal'
-require 'active_record/type/decimal_without_scale'
-require 'active_record/type/float'
-require 'active_record/type/integer'
-require 'active_record/type/serialized'
-require 'active_record/type/string'
-require 'active_record/type/text'
-require 'active_record/type/time'
-require 'active_record/type/unsigned_integer'
+require 'active_model/type/big_integer'
+require 'active_model/type/binary'
+require 'active_model/type/boolean'
+require 'active_model/type/date'
+require 'active_model/type/date_time'
+require 'active_model/type/decimal'
+require 'active_model/type/decimal_without_scale'
+require 'active_model/type/float'
+require 'active_model/type/integer'
+require 'active_model/type/string'
+require 'active_model/type/text'
+require 'active_model/type/time'
+require 'active_model/type/unsigned_integer'
-require 'active_record/type/adapter_specific_registry'
-require 'active_record/type/type_map'
-require 'active_record/type/hash_lookup_type_map'
+require 'active_model/type/registry'
+require 'active_model/type/type_map'
+require 'active_model/type/hash_lookup_type_map'
require 'active_record/type/internal/abstract_json'
+require 'active_record/type/internal/timezone'
+require 'active_record/type/serialized'
+require 'active_record/type/adapter_specific_registry'
module ActiveRecord
module Type
@@ -53,6 +55,32 @@ module ActiveRecord
end
end
+ class Date < ActiveModel::Type::Date
+ include Internal::Timezone
+ end
+
+ class DateTime < ActiveModel::Type::DateTime
+ include Internal::Timezone
+ end
+ class Time < ActiveModel::Type::Time
+ include Internal::Timezone
+ end
+
+ Helpers = ActiveModel::Type::Helpers
+ BigInteger = ActiveModel::Type::BigInteger
+ Binary = ActiveModel::Type::Binary
+ Boolean = ActiveModel::Type::Boolean
+ Decimal = ActiveModel::Type::Decimal
+ DecimalWithoutScale = ActiveModel::Type::DecimalWithoutScale
+ Float = ActiveModel::Type::Float
+ Integer = ActiveModel::Type::Integer
+ String = ActiveModel::Type::String
+ Text = ActiveModel::Type::Text
+ UnsignedInteger = ActiveModel::Type::UnsignedInteger
+ Value = ActiveModel::Type::Value
+ TypeMap = ActiveModel::Type::TypeMap
+ HashLookupTypeMap = ActiveModel::Type::HashLookupTypeMap
+
register(:big_integer, Type::BigInteger, override: false)
register(:binary, Type::Binary, override: false)
register(:boolean, Type::Boolean, override: false)