Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
4ae79367
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,发现更多精彩内容 >>
提交
4ae79367
编写于
1月 22, 2010
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Got tests working once again.
上级
02c5137e
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
40 addition
and
48 deletion
+40
-48
railties/lib/rails/application.rb
railties/lib/rails/application.rb
+1
-3
railties/lib/rails/configuration.rb
railties/lib/rails/configuration.rb
+17
-11
railties/lib/rails/engine.rb
railties/lib/rails/engine.rb
+3
-1
railties/lib/rails/paths.rb
railties/lib/rails/paths.rb
+8
-10
railties/test/application/configuration_test.rb
railties/test/application/configuration_test.rb
+2
-2
railties/test/initializer/path_test.rb
railties/test/initializer/path_test.rb
+8
-15
railties/test/paths_test.rb
railties/test/paths_test.rb
+1
-6
未找到文件。
railties/lib/rails/application.rb
浏览文件 @
4ae79367
...
...
@@ -2,8 +2,6 @@
module
Rails
class
Application
<
Engine
include
Initializable
class
<<
self
alias
:configure
:class_eval
delegate
:initialize!
,
:load_tasks
,
:load_generators
,
:root
,
:to
=>
:instance
...
...
@@ -122,7 +120,7 @@ def call(env)
app
.
call
(
env
)
end
initializer
:add_builtin_route
do
|
app
|
initializer
:add_builtin_route
,
:before
=>
:build_middleware_stack
do
|
app
|
if
Rails
.
env
.
development?
app
.
route_configuration_files
<<
File
.
join
(
RAILTIES_PATH
,
'builtin'
,
'routes.rb'
)
end
...
...
railties/lib/rails/configuration.rb
浏览文件 @
4ae79367
...
...
@@ -81,15 +81,13 @@ def initialize(root)
def
paths
@paths
||=
begin
paths
=
Rails
::
Application
::
Root
.
new
(
@root
)
paths
.
app
"app"
,
:load_path
=>
true
paths
.
app_glob
"app/*"
,
:load_path
=>
true
,
:eager_load
=>
true
paths
.
app
.
controllers
"app/controllers"
,
:eager_load
=>
true
paths
.
app
.
metals
"app/metal"
paths
.
app
"app"
,
:eager_load
=>
true
,
:glob
=>
"*"
paths
.
app
.
controllers
"app/controllers"
,
:eager_load
=>
true
paths
.
app
.
metals
"app/metal"
,
:eager_load
=>
true
paths
.
app
.
views
"app/views"
paths
.
lib
"lib"
,
:load_path
=>
true
paths
.
config
"config"
paths
.
config
.
environment
"config/environments/
#{
Rails
.
env
}
.rb"
paths
.
config
.
environments
"config/environments"
,
:glob
=>
"
#{
Rails
.
env
}
.rb"
paths
.
config
.
environment
"config/environments"
,
:glob
=>
"
#{
Rails
.
env
}
.rb"
paths
.
config
.
initializers
"config/initializers"
paths
.
config
.
locales
"config/locales"
paths
.
config
.
routes
"config/routes.rb"
...
...
@@ -112,10 +110,6 @@ def load_once_paths
def
load_paths
@load_paths
||=
paths
.
load_paths
end
def
controller_paths
paths
.
app
.
controllers
.
to_a
.
uniq
end
end
class
Configuration
<
Engine
::
Configuration
...
...
@@ -142,7 +136,7 @@ def after_initialize(&blk)
def
paths
@paths
||=
begin
paths
=
super
paths
.
app
.
controllers
<<
builtin_directories
paths
.
app
.
controllers
.
concat
(
builtin_directories
)
paths
.
config
.
database
"config/database.yml"
paths
.
log
"log/
#{
Rails
.
env
}
.log"
paths
.
tmp
"tmp"
...
...
@@ -238,6 +232,18 @@ def log_path
paths
.
config
.
log
.
to_a
.
first
end
def
controller_paths
=
(
value
)
ActiveSupport
::
Deprecation
.
warn
"config.controller_paths= is deprecated, "
<<
"please do config.paths.app.controllers= instead"
,
caller
paths
.
app
.
controllers
=
value
end
def
controller_paths
ActiveSupport
::
Deprecation
.
warn
"config.controller_paths is deprecated, "
<<
"please do config.paths.app.controllers instead"
,
caller
paths
.
app
.
controllers
.
to_a
.
uniq
end
def
cache_store
@cache_store
||=
begin
if
File
.
exist?
(
"
#{
root
}
/tmp/cache/"
)
...
...
railties/lib/rails/engine.rb
浏览文件 @
4ae79367
...
...
@@ -50,7 +50,9 @@ def find_root_with_file_flag(flag, default=nil)
# Add configured load paths to ruby load paths and remove duplicates.
initializer
:set_load_path
,
:before
=>
:container
do
config
.
paths
.
add_to_load_path
expand_load_path
(
config
.
load_paths
).
reverse_each
do
|
path
|
$LOAD_PATH
.
unshift
(
path
)
if
File
.
directory?
(
path
)
end
$LOAD_PATH
.
uniq!
end
...
...
railties/lib/rails/paths.rb
浏览文件 @
4ae79367
...
...
@@ -39,6 +39,7 @@ def eager_load
all_paths
.
map
{
|
path
|
path
.
paths
if
path
.
eager_load?
}.
compact
.
flatten
.
uniq
end
# TODO Discover why do we need to call uniq! here
def
all_paths
@all_paths
.
uniq!
@all_paths
...
...
@@ -48,12 +49,6 @@ def load_paths
all_paths
.
map
{
|
path
|
path
.
paths
if
path
.
load_path?
}.
compact
.
flatten
.
uniq
end
def
add_to_load_path
load_paths
.
reverse_each
do
|
path
|
$LOAD_PATH
.
unshift
(
path
)
if
File
.
directory?
(
path
)
end
end
def
push
(
*
)
raise
"Application root can only have one physical path"
end
...
...
@@ -74,7 +69,7 @@ def initialize(root, *paths)
@children
=
{}
@root
=
root
@paths
=
paths
.
flatten
@glob
=
@options
[
:glob
]
||
"**/*.rb"
@glob
=
@options
.
delete
(
:glob
)
@load_once
=
@options
[
:load_once
]
@eager_load
=
@options
[
:eager_load
]
...
...
@@ -128,10 +123,13 @@ def load_path?
def
paths
raise
"You need to set a path root"
unless
@root
.
path
@paths
.
map
do
|
path
|
path
.
index
(
'/'
)
==
0
?
path
:
File
.
expand_path
(
File
.
join
(
@root
.
path
,
path
))
result
=
@paths
.
map
do
|
p
|
path
=
File
.
expand_path
(
p
,
@root
.
path
)
@glob
?
Dir
[
File
.
join
(
path
,
@glob
)]
:
path
end
result
.
flatten!
result
.
uniq!
result
end
alias
to_a
paths
...
...
railties/test/application/configuration_test.rb
浏览文件 @
4ae79367
...
...
@@ -34,9 +34,9 @@ def setup
add_to_config
<<-
RUBY
config.root = '
#{
new_app
}
'
RUBY
use_frameworks
[]
require
"
#{
app_path
}
/config/environment"
assert_equal
Pathname
.
new
(
new_app
),
Rails
.
application
.
root
end
...
...
railties/test/initializer/path_test.rb
浏览文件 @
4ae79367
...
...
@@ -8,6 +8,7 @@ def setup
build_app
boot_rails
FileUtils
.
rm_rf
(
"
#{
app_path
}
/config/environments"
)
app_file
"config/environments/development.rb"
,
""
add_to_config
<<-
RUBY
config.root = "
#{
app_path
}
"
config.after_initialize do
...
...
@@ -36,11 +37,8 @@ def assert_not_in_load_path(*path)
end
test
"booting up Rails yields a valid paths object"
do
assert_path
@paths
.
app
,
"app"
assert_path
@paths
.
app
.
metals
,
"app"
,
"metal"
assert_path
@paths
.
app
.
models
,
"app"
,
"models"
assert_path
@paths
.
app
.
helpers
,
"app"
,
"helpers"
assert_path
@paths
.
app
.
services
,
"app"
,
"services"
assert_path
@paths
.
app
.
views
,
"app"
,
"views"
assert_path
@paths
.
lib
,
"lib"
assert_path
@paths
.
vendor
,
"vendor"
assert_path
@paths
.
vendor
.
plugins
,
"vendor"
,
"plugins"
...
...
@@ -48,7 +46,7 @@ def assert_not_in_load_path(*path)
assert_path
@paths
.
tmp
.
cache
,
"tmp"
,
"cache"
assert_path
@paths
.
config
,
"config"
assert_path
@paths
.
config
.
locales
,
"config"
,
"locales"
assert_path
@paths
.
config
.
environment
s
,
"config"
,
"environments
"
assert_path
@paths
.
config
.
environment
,
"config"
,
"environments"
,
"development.rb
"
assert_equal
root
(
"app"
,
"controllers"
),
@paths
.
app
.
controllers
.
to_a
.
first
assert_equal
Pathname
.
new
(
File
.
dirname
(
__FILE__
)).
join
(
".."
,
".."
,
"builtin"
,
"rails_info"
).
expand_path
,
...
...
@@ -56,27 +54,22 @@ def assert_not_in_load_path(*path)
end
test
"booting up Rails yields a list of paths that are eager"
do
assert
@paths
.
app
.
models
.
eager_load?
assert
@paths
.
app
.
eager_load?
assert
@paths
.
app
.
controllers
.
eager_load?
assert
@paths
.
app
.
helpers
.
eager_load?
assert
@paths
.
app
.
metals
.
eager_load?
end
test
"environments has a glob equal to the current environment"
do
assert_equal
"
#{
Rails
.
env
}
.rb"
,
@paths
.
config
.
environment
s
.
glob
assert_equal
"
#{
Rails
.
env
}
.rb"
,
@paths
.
config
.
environment
.
glob
end
test
"load path includes each of the paths in config.paths as long as the directories exist"
do
assert_in_load_path
"app"
assert_in_load_path
"app"
,
"controllers"
assert_in_load_path
"app"
,
"models"
assert_in_load_path
"app"
,
"helpers"
assert_in_load_path
"lib"
assert_in_load_path
"vendor"
assert_not_in_load_path
"app"
,
"views"
assert_not_in_load_path
"app"
,
"metal"
assert_not_in_load_path
"app"
,
"services"
assert_not_in_load_path
"config"
assert_not_in_load_path
"config"
,
"locales"
assert_not_in_load_path
"config"
,
"environments"
...
...
@@ -86,17 +79,17 @@ def assert_not_in_load_path(*path)
test
"controller paths include builtin in development mode"
do
Rails
.
env
.
replace
"development"
assert
Rails
::
Configuration
.
new
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
assert
Rails
::
Configuration
.
new
(
"/"
)
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
end
test
"controller paths does not have builtin_directories in test mode"
do
Rails
.
env
.
replace
"test"
assert
!
Rails
::
Configuration
.
new
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
assert
!
Rails
::
Configuration
.
new
(
"/"
)
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
end
test
"controller paths does not have builtin_directories in production mode"
do
Rails
.
env
.
replace
"production"
assert
!
Rails
::
Configuration
.
new
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
assert
!
Rails
::
Configuration
.
new
(
"/"
)
.
paths
.
app
.
controllers
.
paths
.
any?
{
|
p
|
p
=~
/builtin/
}
end
end
...
...
railties/test/paths_test.rb
浏览文件 @
4ae79367
...
...
@@ -193,12 +193,7 @@ def setup
assert_equal
2
,
@root
.
eager_load
.
size
end
test
"a path should have a glob that defaults to **/*.rb"
do
@root
.
app
=
"/app"
assert_equal
"**/*.rb"
,
@root
.
app
.
glob
end
test
"it should be possible to override a path's default glob"
do
test
"it should be possible to add a path's default glob"
do
@root
.
app
=
"/app"
@root
.
app
.
glob
=
"*.rb"
assert_equal
"*.rb"
,
@root
.
app
.
glob
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录