Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
243513f4
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,发现更多精彩内容 >>
提交
243513f4
编写于
10月 07, 2010
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Get rid of ruby warnings in Resolvers. Move a few methods up to the abstract class.
上级
ea30da30
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
26 addition
and
23 deletion
+26
-23
actionpack/lib/action_view/template/resolver.rb
actionpack/lib/action_view/template/resolver.rb
+24
-21
actionpack/lib/action_view/testing/resolvers.rb
actionpack/lib/action_view/testing/resolvers.rb
+2
-2
未找到文件。
actionpack/lib/action_view/template/resolver.rb
浏览文件 @
243513f4
...
...
@@ -6,7 +6,6 @@ module ActionView
# = Action View Resolver
class
Resolver
def
initialize
@path
=
nil
@cached
=
Hash
.
new
{
|
h1
,
k1
|
h1
[
k1
]
=
Hash
.
new
{
|
h2
,
k2
|
h2
[
k2
]
=
Hash
.
new
{
|
h3
,
k3
|
h3
[
k3
]
=
{}
}
}
}
end
...
...
@@ -35,6 +34,23 @@ def find_templates(name, prefix, partial, details)
raise
NotImplementedError
end
# Helpers that builds a path. Useful for building virtual paths.
def
build_path
(
name
,
prefix
,
partial
,
details
)
path
=
""
path
<<
"
#{
prefix
}
/"
unless
prefix
.
empty?
path
<<
(
partial
?
"_
#{
name
}
"
:
name
)
path
end
# Get the handler and format from the given parameters.
def
retrieve_handler_and_format
(
handler
,
format
,
default_formats
=
nil
)
handler
=
Template
.
handler_class_for_extension
(
handler
)
format
=
format
&&
Mime
[
format
]
format
||=
handler
.
default_format
if
handler
.
respond_to?
(
:default_format
)
format
||=
default_formats
[
handler
,
format
]
end
def
cached
(
key
,
prefix
,
name
,
partial
)
return
yield
unless
key
&&
caching?
@cached
[
key
][
prefix
][
name
][
partial
]
||=
yield
...
...
@@ -44,25 +60,13 @@ def cached(key, prefix, name, partial)
class
PathResolver
<
Resolver
EXTENSION_ORDER
=
[
:locale
,
:formats
,
:handlers
]
def
to_s
@path
.
to_s
end
alias
:to_path
:to_s
private
private
def
find_templates
(
name
,
prefix
,
partial
,
details
)
path
=
build_path
(
name
,
prefix
,
partial
,
details
)
query
(
path
,
EXTENSION_ORDER
.
map
{
|
ext
|
details
[
ext
]
},
details
[
:formats
])
end
def
build_path
(
name
,
prefix
,
partial
,
details
)
path
=
""
path
<<
"
#{
prefix
}
/"
unless
prefix
.
empty?
path
<<
(
partial
?
"_
#{
name
}
"
:
name
)
path
end
def
query
(
path
,
exts
,
formats
)
query
=
File
.
join
(
@path
,
path
)
...
...
@@ -86,13 +90,7 @@ def query(path, exts, formats)
def
extract_handler_and_format
(
path
,
default_formats
)
pieces
=
File
.
basename
(
path
).
split
(
"."
)
pieces
.
shift
handler
=
Template
.
handler_class_for_extension
(
pieces
.
pop
)
format
=
pieces
.
last
&&
Mime
[
pieces
.
last
]
&&
pieces
.
pop
.
to_sym
format
||=
handler
.
default_format
if
handler
.
respond_to?
(
:default_format
)
format
||=
default_formats
[
handler
,
format
]
retrieve_handler_and_format
(
pieces
.
pop
,
pieces
.
pop
,
default_formats
)
end
end
...
...
@@ -103,6 +101,11 @@ def initialize(path)
@path
=
File
.
expand_path
(
path
)
end
def
to_s
@path
.
to_s
end
alias
:to_path
:to_s
def
eql?
(
resolver
)
self
.
class
.
equal?
(
resolver
.
class
)
&&
to_path
==
resolver
.
to_path
end
...
...
actionpack/lib/action_view/testing/resolvers.rb
浏览文件 @
243513f4
...
...
@@ -13,7 +13,7 @@ def initialize(hash = {})
@hash
=
hash
end
private
private
def
query
(
path
,
exts
,
formats
)
query
=
Regexp
.
escape
(
path
)
...
...
@@ -32,7 +32,7 @@ def query(path, exts, formats)
end
end
class
NullResolver
<
ActionView
::
PathResolver
class
NullResolver
<
PathResolver
def
query
(
path
,
exts
,
formats
)
handler
,
format
=
extract_handler_and_format
(
path
,
formats
)
[
ActionView
::
Template
.
new
(
"Template generated by Null Resolver"
,
path
,
handler
,
:virtual_path
=>
path
,
:format
=>
format
)]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录