Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
e5305342
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,体验更适合开发者的 AI 搜索 >>
提交
e5305342
编写于
5月 21, 2016
作者:
D
David Heinemeier Hansson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added a shared section to config/secrets.yml that will be loaded for all environments
上级
85ee483f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
3 deletion
+46
-3
railties/CHANGELOG.md
railties/CHANGELOG.md
+5
-0
railties/lib/rails/application.rb
railties/lib/rails/application.rb
+8
-3
railties/lib/rails/generators/rails/app/templates/config/secrets.yml
...b/rails/generators/rails/app/templates/config/secrets.yml
+8
-0
railties/test/application/configuration_test.rb
railties/test/application/configuration_test.rb
+25
-0
未找到文件。
railties/CHANGELOG.md
浏览文件 @
e5305342
## Rails 5.1.0.alpha ##
*
Added a shared section to config/secrets.yml that will be loaded for all environments.
*DHH*
Please check
[
5-0-stable
](
https://github.com/rails/rails/blob/5-0-stable/railties/CHANGELOG.md
)
for previous changes.
railties/lib/rails/application.rb
浏览文件 @
e5305342
...
...
@@ -385,11 +385,16 @@ def config=(configuration) #:nodoc:
def
secrets
@secrets
||=
begin
secrets
=
ActiveSupport
::
OrderedOptions
.
new
yaml
=
config
.
paths
[
"config/secrets"
].
first
yaml
=
config
.
paths
[
"config/secrets"
].
first
if
File
.
exist?
(
yaml
)
require
"erb"
all_secrets
=
YAML
.
load
(
ERB
.
new
(
IO
.
read
(
yaml
)).
result
)
||
{}
env_secrets
=
all_secrets
[
Rails
.
env
]
all_secrets
=
YAML
.
load
(
ERB
.
new
(
IO
.
read
(
yaml
)).
result
)
||
{}
shared_secrets
=
all_secrets
[
'shared'
]
env_secrets
=
all_secrets
[
Rails
.
env
]
secrets
.
merge!
(
shared_secrets
.
symbolize_keys
)
if
shared_secrets
secrets
.
merge!
(
env_secrets
.
symbolize_keys
)
if
env_secrets
end
...
...
railties/lib/rails/generators/rails/app/templates/config/secrets.yml
浏览文件 @
e5305342
...
...
@@ -10,6 +10,13 @@
# Make sure the secrets in this file are kept private
# if you're sharing your code publicly.
# Shared secrets are available across all environments.
shared
:
api_key
:
123
# Environmental secrets are only available for that specific environment.
development
:
secret_key_base
:
<%= app_secret %>
...
...
@@ -18,5 +25,6 @@ test:
# Do not keep production secrets in the repository,
# instead read values from the environment.
production
:
secret_key_base
:
<%%= ENV["SECRET_KEY_BASE"] %>
railties/test/application/configuration_test.rb
浏览文件 @
e5305342
...
...
@@ -555,6 +555,31 @@ def index
assert_equal
'myamazonsecretaccesskey'
,
app
.
secrets
.
aws_secret_access_key
end
test
"shared secrets saved in config/secrets.yml are loaded in app secrets"
do
app_file
'config/secrets.yml'
,
<<-
YAML
shared:
api_key: 3b7cd727
YAML
app
'development'
assert_equal
'3b7cd727'
,
app
.
secrets
.
api_key
end
test
"shared secrets will yield to environment specific secrets"
do
app_file
'config/secrets.yml'
,
<<-
YAML
shared:
api_key: 3b7cd727
development:
api_key: abc12345
YAML
app
'development'
assert_equal
'abc12345'
,
app
.
secrets
.
api_key
end
test
"blank config/secrets.yml does not crash the loading process"
do
app_file
'config/secrets.yml'
,
<<-
YAML
YAML
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录