Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ada8c66b
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,发现更多精彩内容 >>
提交
ada8c66b
编写于
8月 15, 2010
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve routes task code and print the application as :to => RackApp. [#5338 state:resolved]
上级
99f39975
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
24 addition
and
12 deletion
+24
-12
railties/lib/rails/tasks/routes.rake
railties/lib/rails/tasks/routes.rake
+24
-12
未找到文件。
railties/lib/rails/tasks/routes.rake
浏览文件 @
ada8c66b
desc
'Print out all defined routes in match order, with names. Target specific controller with CONTROLLER=x.'
task
:routes
=>
:environment
do
Rails
.
application
.
reload_routes!
all_routes
=
ENV
[
'CONTROLLER'
]
?
Rails
.
application
.
routes
.
routes
.
select
{
|
route
|
route
.
defaults
[
:controller
]
==
ENV
[
'CONTROLLER'
]
}
:
Rails
.
application
.
routes
.
routes
all_routes
=
Rails
.
application
.
routes
.
routes
named_routes
=
Rails
.
application
.
routes
.
named_routes
.
routes
if
ENV
[
'CONTROLLER'
]
all_routes
=
all_routes
.
select
{
|
route
|
route
.
defaults
[
:controller
]
==
ENV
[
'CONTROLLER'
]
}
end
routes
=
all_routes
.
collect
do
|
route
|
# TODO: The :index method is deprecated in 1.9 in favor of :key
# but we don't have :key in 1.8.7. We can remove this check when
# stop supporting 1.8.x
key_method
=
Hash
.
method_defined?
(
'key'
)
?
'key'
:
'index'
name
=
Rails
.
application
.
routes
.
named_routes
.
routes
.
send
(
key_method
,
route
).
to_s
reqs
=
route
.
requirements
.
empty?
?
""
:
route
.
requirements
.
inspect
app
=
route
.
app
.
to_s
=~
/ActionDispatch.*/
?
""
:
route
.
app
.
to_s
{
:name
=>
name
,
:verb
=>
route
.
verb
.
to_s
,
:path
=>
route
.
path
,
:reqs
=>
reqs
,
:app
=>
app
}
key
=
Hash
.
method_defined?
(
'key'
)
?
'key'
:
'index'
name
=
named_routes
.
send
(
key
,
route
).
to_s
reqs
=
route
.
requirements
.
dup
reqs
[
:to
]
=
route
.
app
unless
route
.
app
.
is_a?
(
ActionDispatch
::
Routing
::
RouteSet
::
Dispatcher
)
reqs
=
reqs
.
empty?
?
""
:
reqs
.
inspect
{
:name
=>
name
,
:verb
=>
route
.
verb
.
to_s
,
:path
=>
route
.
path
,
:reqs
=>
reqs
}
end
routes
.
reject!
{
|
r
|
r
[
:path
]
==
"/rails/info/properties"
}
# skip the route if it's internal info route
name_width
=
routes
.
collect
{
|
r
|
r
[
:name
]}.
collect
{
|
n
|
n
.
length
}.
max
verb_width
=
routes
.
collect
{
|
r
|
r
[
:verb
]}.
collect
{
|
v
|
v
.
length
}.
max
path_width
=
routes
.
collect
{
|
r
|
r
[
:path
]}.
collect
{
|
s
|
s
.
length
}.
max
app_width
=
routes
.
collect
{
|
r
|
r
[
:app
]}.
collect
{
|
a
|
a
.
length
}.
max
routes
.
reject!
{
|
r
|
r
[
:path
]
==
"/rails/info/properties"
}
# Skip the route if it's internal info route
name_width
=
routes
.
map
{
|
r
|
r
[
:name
]
}.
map
(
&
:length
).
max
verb_width
=
routes
.
map
{
|
r
|
r
[
:verb
]
}.
map
(
&
:length
).
max
path_width
=
routes
.
map
{
|
r
|
r
[
:path
]
}.
map
(
&
:length
).
max
routes
.
each
do
|
r
|
puts
"
#{
r
[
:name
].
rjust
(
name_width
)
}
#{
r
[
:verb
].
ljust
(
verb_width
)
}
#{
r
[
:path
].
ljust
(
path_width
)
}
#{
r
[
:reqs
]
}
#{
(
r
[
:app
].
length
>
0
?
'=> '
+
r
[
:app
]
:
''
).
ljust
(
app_width
)
}
"
puts
"
#{
r
[
:name
].
rjust
(
name_width
)
}
#{
r
[
:verb
].
ljust
(
verb_width
)
}
#{
r
[
:path
].
ljust
(
path_width
)
}
#{
r
[
:reqs
]
}
"
end
end
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录