Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
b6577cb6
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,发现更多精彩内容 >>
未验证
提交
b6577cb6
编写于
4月 19, 2018
作者:
A
Andrew White
提交者:
GitHub
4月 19, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #32613 from dsander/fix-as-timezone-all
Fix exception in AS::Timezone.all when any tzinfo data is missing
上级
ef2af628
fb2af6f8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
35 addition
and
1 deletion
+35
-1
activesupport/CHANGELOG.md
activesupport/CHANGELOG.md
+5
-0
activesupport/lib/active_support/values/time_zone.rb
activesupport/lib/active_support/values/time_zone.rb
+2
-1
activesupport/test/time_zone_test.rb
activesupport/test/time_zone_test.rb
+15
-0
activesupport/test/time_zone_test_helpers.rb
activesupport/test/time_zone_test_helpers.rb
+13
-0
未找到文件。
activesupport/CHANGELOG.md
浏览文件 @
b6577cb6
*
Fix bug where
`ActiveSupport::Timezone.all`
would fail when tzinfo data for
any timezone defined in
`ActiveSupport::MAPPING`
is missing.
*Dominik Sander*
*
Redis cache store:
`delete_matched`
no longer blocks the Redis server.
(Switches from evaled Lua to a batched SCAN + DEL loop.)
...
...
activesupport/lib/active_support/values/time_zone.rb
浏览文件 @
b6577cb6
...
...
@@ -279,7 +279,8 @@ def load_country_zones(code)
def
zones_map
@zones_map
||=
MAPPING
.
each_with_object
({})
do
|
(
name
,
_
),
zones
|
zones
[
name
]
=
self
[
name
]
timezone
=
self
[
name
]
zones
[
name
]
=
timezone
if
timezone
end
end
end
...
...
activesupport/test/time_zone_test.rb
浏览文件 @
b6577cb6
...
...
@@ -725,6 +725,21 @@ def test_all_uninfluenced_by_time_zone_lookups_delegated_to_tzinfo
assert_not_includes
all_zones
,
galapagos
end
def
test_all_not_raises_exception_with_mizzing_tzinfo_data
mappings
=
{
"Puerto Rico"
=>
"America/Unknown"
,
"Pittsburgh"
=>
"America/New_York"
}
with_tz_mappings
(
mappings
)
do
assert_nil
ActiveSupport
::
TimeZone
[
"Puerto Rico"
]
assert_nil
ActiveSupport
::
TimeZone
[
-
9
]
assert_nothing_raised
do
ActiveSupport
::
TimeZone
.
all
end
end
end
def
test_index
assert_nil
ActiveSupport
::
TimeZone
[
"bogus"
]
assert_instance_of
ActiveSupport
::
TimeZone
,
ActiveSupport
::
TimeZone
[
"Central Time (US & Canada)"
]
...
...
activesupport/test/time_zone_test_helpers.rb
浏览文件 @
b6577cb6
...
...
@@ -23,4 +23,17 @@ def with_preserve_timezone(value)
ensure
ActiveSupport
.
to_time_preserves_timezone
=
old_preserve_tz
end
def
with_tz_mappings
(
mappings
)
old_mappings
=
ActiveSupport
::
TimeZone
::
MAPPING
.
dup
ActiveSupport
::
TimeZone
.
clear
ActiveSupport
::
TimeZone
::
MAPPING
.
clear
ActiveSupport
::
TimeZone
::
MAPPING
.
merge!
(
mappings
)
yield
ensure
ActiveSupport
::
TimeZone
.
clear
ActiveSupport
::
TimeZone
::
MAPPING
.
clear
ActiveSupport
::
TimeZone
::
MAPPING
.
merge!
(
old_mappings
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录