diff options
author | Kir Shatrov <shatrov@me.com> | 2015-09-07 21:20:15 +0300 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2015-09-21 10:12:13 -0600 |
commit | 9cc8c6f3730df3d94c81a55be9ee1b7b4ffd29f6 (patch) | |
tree | 68a48d84f3d2e1902d94316f781c4aee60a5f798 /activerecord/lib/active_record/type/time.rb | |
parent | b223d729d823dcf3c6915daa2bf48c028718c465 (diff) | |
download | rails-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/time.rb')
-rw-r--r-- | activerecord/lib/active_record/type/time.rb | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/activerecord/lib/active_record/type/time.rb b/activerecord/lib/active_record/type/time.rb deleted file mode 100644 index 19a10021bc..0000000000 --- a/activerecord/lib/active_record/type/time.rb +++ /dev/null @@ -1,42 +0,0 @@ -module ActiveRecord - module Type - class Time < Value # :nodoc: - include Helpers::TimeValue - include Helpers::AcceptsMultiparameterTime.new( - defaults: { 1 => 1970, 2 => 1, 3 => 1, 4 => 0, 5 => 0 } - ) - - def type - :time - end - - def user_input_in_time_zone(value) - return unless value.present? - - case value - when ::String - value = "2000-01-01 #{value}" - when ::Time - value = value.change(year: 2000, day: 1, month: 1) - end - - super(value) - end - - private - - def cast_value(value) - return value unless value.is_a?(::String) - return if value.empty? - - dummy_time_value = "2000-01-01 #{value}" - - fast_string_to_time(dummy_time_value) || begin - time_hash = ::Date._parse(dummy_time_value) - return if time_hash[:hour].nil? - new_time(*time_hash.values_at(:year, :mon, :mday, :hour, :min, :sec, :sec_fraction)) - end - end - end - end -end |