Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
5d078692
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,发现更多精彩内容 >>
提交
5d078692
编写于
1月 26, 2010
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ensure all initializers are collections.
上级
a89c8cb5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
36 addition
and
35 deletion
+36
-35
railties/lib/rails/application.rb
railties/lib/rails/application.rb
+2
-2
railties/lib/rails/application/bootstrap.rb
railties/lib/rails/application/bootstrap.rb
+21
-21
railties/lib/rails/application/finisher.rb
railties/lib/rails/application/finisher.rb
+8
-8
railties/lib/rails/initializable.rb
railties/lib/rails/initializable.rb
+5
-4
未找到文件。
railties/lib/rails/application.rb
浏览文件 @
5d078692
...
...
@@ -90,10 +90,10 @@ def call(env)
end
def
initializers
initializers
=
Bootstrap
.
initializers
initializers
=
Bootstrap
.
initializers
_for
(
self
)
railties
.
all
{
|
r
|
initializers
+=
r
.
initializers
}
initializers
+=
super
initializers
+=
Finisher
.
initializers
initializers
+=
Finisher
.
initializers
_for
(
self
)
initializers
end
...
...
railties/lib/rails/application/bootstrap.rb
浏览文件 @
5d078692
...
...
@@ -3,28 +3,28 @@ class Application
module
Bootstrap
include
Initializable
initializer
:load_environment_config
do
|
app
|
app
.
require_environment!
initializer
:load_environment_config
do
require_environment!
end
initializer
:load_all_active_support
do
|
app
|
require
"active_support/all"
unless
app
.
config
.
active_support
.
bare
initializer
:load_all_active_support
do
require
"active_support/all"
unless
config
.
active_support
.
bare
end
# Preload all frameworks specified by the Configuration#frameworks.
# Used by Passenger to ensure everything's loaded before forking and
# to avoid autoload race conditions in JRuby.
initializer
:preload_frameworks
do
|
app
|
initializer
:preload_frameworks
do
require
'active_support/dependencies'
ActiveSupport
::
Autoload
.
eager_autoload!
if
app
.
config
.
preload_frameworks
ActiveSupport
::
Autoload
.
eager_autoload!
if
config
.
preload_frameworks
end
# Initialize the logger early in the stack in case we need to log some deprecation.
initializer
:initialize_logger
do
|
app
|
Rails
.
logger
||=
app
.
config
.
logger
||
begin
path
=
app
.
config
.
paths
.
log
.
to_a
.
first
initializer
:initialize_logger
do
Rails
.
logger
||=
config
.
logger
||
begin
path
=
config
.
paths
.
log
.
to_a
.
first
logger
=
ActiveSupport
::
BufferedLogger
.
new
(
path
)
logger
.
level
=
ActiveSupport
::
BufferedLogger
.
const_get
(
app
.
config
.
log_level
.
to_s
.
upcase
)
logger
.
level
=
ActiveSupport
::
BufferedLogger
.
const_get
(
config
.
log_level
.
to_s
.
upcase
)
logger
.
auto_flushing
=
false
if
Rails
.
env
.
production?
logger
rescue
StandardError
=>
e
...
...
@@ -39,23 +39,23 @@ module Bootstrap
end
# Initialize cache early in the stack so railties can make use of it.
initializer
:initialize_cache
do
|
app
|
initializer
:initialize_cache
do
unless
defined?
(
RAILS_CACHE
)
silence_warnings
{
Object
.
const_set
"RAILS_CACHE"
,
ActiveSupport
::
Cache
.
lookup_store
(
app
.
config
.
cache_store
)
}
silence_warnings
{
Object
.
const_set
"RAILS_CACHE"
,
ActiveSupport
::
Cache
.
lookup_store
(
config
.
cache_store
)
}
if
RAILS_CACHE
.
respond_to?
(
:middleware
)
app
.
config
.
middleware
.
insert_after
(
:"Rack::Lock"
,
RAILS_CACHE
.
middleware
)
config
.
middleware
.
insert_after
(
:"Rack::Lock"
,
RAILS_CACHE
.
middleware
)
end
end
end
# Initialize rails subscriber on top of notifications.
initializer
:initialize_subscriber
do
|
app
|
initializer
:initialize_subscriber
do
require
'active_support/notifications'
if
app
.
config
.
colorize_logging
==
false
Rails
::
Subscriber
.
colorize_logging
=
false
app
.
config
.
generators
.
colorize_logging
=
false
if
config
.
colorize_logging
==
false
Rails
::
Subscriber
.
colorize_logging
=
false
config
.
generators
.
colorize_logging
=
false
end
ActiveSupport
::
Notifications
.
subscribe
do
|*
args
|
...
...
@@ -63,8 +63,8 @@ module Bootstrap
end
end
initializer
:set_clear_dependencies_hook
do
|
app
|
unless
app
.
config
.
cache_classes
initializer
:set_clear_dependencies_hook
do
unless
config
.
cache_classes
ActionDispatch
::
Callbacks
.
after
do
ActiveSupport
::
Dependencies
.
clear
end
...
...
@@ -73,8 +73,8 @@ module Bootstrap
# Sets the dependency loading mechanism.
# TODO: Remove files from the $" and always use require.
initializer
:initialize_dependency_mechanism
do
|
app
|
ActiveSupport
::
Dependencies
.
mechanism
=
app
.
config
.
cache_classes
?
:require
:
:load
initializer
:initialize_dependency_mechanism
do
ActiveSupport
::
Dependencies
.
mechanism
=
config
.
cache_classes
?
:require
:
:load
end
initializer
:bootstrap_load_path
do
...
...
railties/lib/rails/application/finisher.rb
浏览文件 @
5d078692
...
...
@@ -15,26 +15,26 @@ module Finisher
end
end
initializer
:add_builtin_route
do
|
app
|
initializer
:add_builtin_route
do
if
Rails
.
env
.
development?
Rails
::
Application
::
RoutesReloader
.
paths
<<
File
.
join
(
RAILTIES_PATH
,
'builtin'
,
'routes.rb'
)
end
end
initializer
:build_middleware_stack
do
|
app
|
app
.
app
initializer
:build_middleware_stack
do
app
end
# Fires the user-supplied after_initialize block (config#after_initialize)
initializer
:after_initialize
do
|
app
|
app
.
config
.
after_initialize_blocks
.
each
do
|
block
|
block
.
call
(
app
)
initializer
:after_initialize
do
config
.
after_initialize_blocks
.
each
do
|
block
|
block
.
call
(
self
)
end
end
# Disable dependency loading during request cycle
initializer
:disable_dependency_loading
do
|
app
|
if
app
.
config
.
cache_classes
&&
!
app
.
config
.
dependency_loading
initializer
:disable_dependency_loading
do
if
config
.
cache_classes
&&
!
config
.
dependency_loading
ActiveSupport
::
Dependencies
.
unhook!
end
end
...
...
railties/lib/rails/initializable.rb
浏览文件 @
5d078692
...
...
@@ -64,10 +64,7 @@ def run_initializers(*args)
end
def
initializers
@initializers
||=
begin
initializers
=
self
.
class
.
initializers_chain
Collection
.
new
(
initializers
.
map
{
|
i
|
i
.
bind
(
self
)
})
end
@initializers
||=
self
.
class
.
initializers_for
(
self
)
end
module
ClassMethods
...
...
@@ -84,6 +81,10 @@ def initializers_chain
initializers
end
def
initializers_for
(
binding
)
Collection
.
new
(
initializers_chain
.
map
{
|
i
|
i
.
bind
(
binding
)
})
end
def
initializer
(
name
,
opts
=
{},
&
blk
)
raise
ArgumentError
,
"A block must be passed when defining an initializer"
unless
blk
initializers
<<
Initializer
.
new
(
name
,
nil
,
opts
,
&
blk
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录