Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
867dc170
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,发现更多精彩内容 >>
提交
867dc170
编写于
3月 16, 2013
作者:
X
Xavier Noria
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8156 from fredwu/acronym_fix-master
Fix for inflector's incorrect camelCase replacement for acronyms
上级
9a421aaa
26aa2656
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
7 addition
and
1 deletion
+7
-1
activesupport/CHANGELOG.md
activesupport/CHANGELOG.md
+4
-0
activesupport/lib/active_support/inflector/methods.rb
activesupport/lib/active_support/inflector/methods.rb
+1
-1
activesupport/test/inflector_test.rb
activesupport/test/inflector_test.rb
+2
-0
未找到文件。
activesupport/CHANGELOG.md
浏览文件 @
867dc170
## Rails 4.0.0 (unreleased) ##
*
Fixed a bug in Inflector#underscore where acroynms are incorrectly parsed as camelCases.
*Fred Wu*
*
Fix deletion of empty directories in ActiveSupport::Cache::FileStore.
*Charles Jones*
...
...
activesupport/lib/active_support/inflector/methods.rb
浏览文件 @
867dc170
...
...
@@ -91,7 +91,7 @@ def underscore(camel_cased_word)
word
=
camel_cased_word
.
to_s
.
dup
word
.
gsub!
(
'::'
,
'/'
)
word
.
gsub!
(
/(?:([A-Za-z\d])|^)(
#{
inflections
.
acronym_regex
}
)(?=\b|[^a-z])/
)
{
"
#{
$1
}#{
$1
&&
'_'
}#{
$2
.
downcase
}
"
}
word
.
gsub!
(
/([A-Z\d]+)([A-Z][a-z])/
,
'\1_\2'
)
word
.
gsub!
(
/(
?!
#{
inflections
.
acronym_regex
}
)\b(
[A-Z\d]+)([A-Z][a-z])/
,
'\1_\2'
)
word
.
gsub!
(
/([a-z\d])([A-Z])/
,
'\1_\2'
)
word
.
tr!
(
"-"
,
"_"
)
word
.
downcase!
...
...
activesupport/test/inflector_test.rb
浏览文件 @
867dc170
...
...
@@ -167,11 +167,13 @@ def test_acronyms_camelize_lower
def
test_underscore_acronym_sequence
ActiveSupport
::
Inflector
.
inflections
do
|
inflect
|
inflect
.
acronym
(
"API"
)
inflect
.
acronym
(
"APIs"
)
inflect
.
acronym
(
"JSON"
)
inflect
.
acronym
(
"HTML"
)
end
assert_equal
(
"json_html_api"
,
ActiveSupport
::
Inflector
.
underscore
(
"JSONHTMLAPI"
))
assert_equal
(
"namespaced/apis"
,
ActiveSupport
::
Inflector
.
underscore
(
"Namespaced::APIs"
))
end
def
test_underscore
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录