Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
475ea14f
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,发现更多精彩内容 >>
提交
475ea14f
编写于
8月 29, 2010
作者:
X
Xavier Noria
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
implements String#strip_heredoc
上级
a302a333
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
76 addition
and
1 deletion
+76
-1
activesupport/CHANGELOG
activesupport/CHANGELOG
+2
-0
activesupport/lib/active_support/core_ext/string.rb
activesupport/lib/active_support/core_ext/string.rb
+2
-1
activesupport/lib/active_support/core_ext/string/strip.rb
activesupport/lib/active_support/core_ext/string/strip.rb
+24
-0
activesupport/test/core_ext/string_ext_test.rb
activesupport/test/core_ext/string_ext_test.rb
+23
-0
railties/guides/source/active_support_core_extensions.textile
...ties/guides/source/active_support_core_extensions.textile
+25
-0
未找到文件。
activesupport/CHANGELOG
浏览文件 @
475ea14f
*Rails 3.0.0 (unreleased)*
* Implemented String#strip_heredoc. [fxn]
* Pluggable cache stores: setting config.cache_store = "custom_store" will require 'active_support/cache/custom_store' and look for the CustomStore constant. #5486 [Mike Perham]
...
...
activesupport/lib/active_support/core_ext/string.rb
浏览文件 @
475ea14f
...
...
@@ -9,4 +9,5 @@
require
'active_support/core_ext/string/interpolation'
require
'active_support/core_ext/string/output_safety'
require
'active_support/core_ext/string/exclude'
require
'active_support/core_ext/string/encoding'
\ No newline at end of file
require
'active_support/core_ext/string/encoding'
require
'active_support/core_ext/string/strip'
activesupport/lib/active_support/core_ext/string/strip.rb
0 → 100644
浏览文件 @
475ea14f
class
String
# Strips indentation in heredocs.
#
# For example in
#
# if options[:usage]
# puts <<-USAGE.strip_heredoc
# This command does such and such.
#
# Supported options are:
# -h This message
# ...
# USAGE
# end
#
# the user would see the usage message aligned against the left margin.
#
# Technically, it looks for the least indented line in the whole string, and removes
# that amount of leading whitespace.
def
strip_heredoc
indent
=
chomp
.
scan
(
/^\s*/
).
min
.
size
gsub
(
/^\s{
#{
indent
}
}/
,
''
)
end
end
\ No newline at end of file
activesupport/test/core_ext/string_ext_test.rb
浏览文件 @
475ea14f
...
...
@@ -6,10 +6,33 @@
require
'active_support/core_ext/string'
require
'active_support/time'
require
'active_support/core_ext/kernel/reporting'
require
'active_support/core_ext/string/strip'
class
StringInflectionsTest
<
Test
::
Unit
::
TestCase
include
InflectorTestCases
def
test_strip_heredoc_on_an_empty_string
assert_equal
''
,
''
.
strip_heredoc
end
def
test_strip_heredoc_on_a_string_with_no_lines
assert_equal
'x'
,
'x'
.
strip_heredoc
assert_equal
'x'
,
' x'
.
strip_heredoc
end
def
test_strip_heredoc_on_a_heredoc_with_no_margin
assert_equal
"foo
\n
bar"
,
"foo
\n
bar"
.
strip_heredoc
assert_equal
"foo
\n
bar"
,
"foo
\n
bar"
.
strip_heredoc
end
def
test_strip_heredoc_on_a_regular_indented_heredoc
assert_equal
"foo
\n
bar
\n
baz
\n
"
,
<<-
EOS
.
strip_heredoc
foo
bar
baz
EOS
end
def
test_pluralize
SingularToPlural
.
each
do
|
singular
,
plural
|
assert_equal
(
plural
,
singular
.
pluralize
)
...
...
railties/guides/source/active_support_core_extensions.textile
浏览文件 @
475ea14f
...
...
@@ -1296,6 +1296,31 @@ Active Support defines 3rd person aliases of +String#start_with?+ and +String#en
NOTE: Defined in +active_support/core_ext/string/starts_ends_with.rb+.
h4. +strip_heredoc+
The method +strip_heredoc+ strips indentation in heredocs.
For example in
<ruby>
if options[:usage]
puts <<-USAGE.strip_heredoc
This command does such and such.
Supported options are:
-h This message
...
USAGE
end
</ruby>
the user would see the usage message aligned against the left margin.
Technically, it looks for the least indented line in the whole string, and removes
that amount of leading whitespace.
NOTE: Defined in +active_support/core_ext/string/strip.rb+.
h4. Access
h5. +at(position)+
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录