Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
06a7c294
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
06a7c294
编写于
5月 08, 2008
作者:
G
gbuesing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Time.zone.parse: return nil for strings with no date information
上级
fb9bf16e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
2 deletion
+12
-2
activerecord/lib/active_record/attribute_methods.rb
activerecord/lib/active_record/attribute_methods.rb
+1
-1
activesupport/lib/active_support/values/time_zone.rb
activesupport/lib/active_support/values/time_zone.rb
+3
-1
activesupport/test/time_zone_test.rb
activesupport/test/time_zone_test.rb
+8
-0
未找到文件。
activerecord/lib/active_record/attribute_methods.rb
浏览文件 @
06a7c294
...
...
@@ -179,7 +179,7 @@ def define_write_method(attr_name)
def
define_write_method_for_time_zone_conversion
(
attr_name
)
method_body
=
<<-
EOV
def
#{
attr_name
}
=(time)
unless time.
blank? || time.
acts_like?(:time)
unless time.acts_like?(:time)
time = time.is_a?(String) ? Time.zone.parse(time) : time.to_time rescue time
end
time = time.in_time_zone rescue nil if time
...
...
activesupport/lib/active_support/values/time_zone.rb
浏览文件 @
06a7c294
...
...
@@ -213,8 +213,10 @@ def at(secs)
# Time.zone.now # => Fri, 31 Dec 1999 14:00:00 HST -10:00
# Time.zone.parse('22:30:00') # => Fri, 31 Dec 1999 22:30:00 HST -10:00
def
parse
(
str
,
now
=
now
)
date_parts
=
Date
.
_parse
(
str
)
return
if
date_parts
.
blank?
time
=
Time
.
parse
(
str
,
now
)
rescue
DateTime
.
parse
(
str
)
if
Date
.
_parse
(
str
)
[
:offset
].
nil?
if
date_parts
[
:offset
].
nil?
ActiveSupport
::
TimeWithZone
.
new
(
nil
,
self
,
time
)
else
time
.
in_time_zone
(
self
)
...
...
activesupport/test/time_zone_test.rb
浏览文件 @
06a7c294
...
...
@@ -198,6 +198,14 @@ def test_parse_far_future_date_with_time_zone_offset_in_string
assert_equal
zone
,
twz
.
time_zone
end
end
def
test_parse_returns_nil_when_string_without_date_information_is_passed_in
silence_warnings
do
# silence warnings raised by tzinfo gem
zone
=
TimeZone
[
'Eastern Time (US & Canada)'
]
assert_nil
zone
.
parse
(
'foobar'
)
assert_nil
zone
.
parse
(
' '
)
end
end
uses_mocha
'TestParseWithIncompleteDate'
do
def
test_parse_with_incomplete_date
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录