Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
a5d334cc
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,发现更多精彩内容 >>
未验证
提交
a5d334cc
编写于
6月 14, 2020
作者:
R
Ryuta Kamizono
提交者:
GitHub
6月 14, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #39611 from kamipo/marshal_load_legacy_relation
Backward compatibility to work `Marshal.load(legacy_relation.dump)`
上级
528b62e3
34d0836f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
10 deletion
+21
-10
activerecord/lib/active_record/relation/predicate_builder.rb
activerecord/lib/active_record/relation/predicate_builder.rb
+11
-8
activerecord/test/cases/relation_test.rb
activerecord/test/cases/relation_test.rb
+8
-0
activerecord/test/cases/yaml_serialization_test.rb
activerecord/test/cases/yaml_serialization_test.rb
+2
-2
activerecord/test/support/marshal_compatibility_fixtures/legacy_relation.dump
...pport/marshal_compatibility_fixtures/legacy_relation.dump
+0
-0
未找到文件。
activerecord/lib/active_record/relation/predicate_builder.rb
浏览文件 @
a5d334cc
...
...
@@ -2,6 +2,17 @@
module
ActiveRecord
class
PredicateBuilder
# :nodoc:
require
"active_record/relation/predicate_builder/array_handler"
require
"active_record/relation/predicate_builder/basic_object_handler"
require
"active_record/relation/predicate_builder/range_handler"
require
"active_record/relation/predicate_builder/relation_handler"
require
"active_record/relation/predicate_builder/association_query_value"
require
"active_record/relation/predicate_builder/polymorphic_array_value"
# No-op BaseHandler to work Mashal.load(File.read("legacy_relation.dump")).
# TODO: Remove the constant alias once Rails 6.1 has released.
BaseHandler
=
BasicObjectHandler
def
initialize
(
table
)
@table
=
table
@handlers
=
[]
...
...
@@ -156,11 +167,3 @@ def handler_for(object)
end
end
end
require
"active_record/relation/predicate_builder/array_handler"
require
"active_record/relation/predicate_builder/basic_object_handler"
require
"active_record/relation/predicate_builder/range_handler"
require
"active_record/relation/predicate_builder/relation_handler"
require
"active_record/relation/predicate_builder/association_query_value"
require
"active_record/relation/predicate_builder/polymorphic_array_value"
activerecord/test/cases/relation_test.rb
浏览文件 @
a5d334cc
...
...
@@ -418,6 +418,14 @@ def test_skip_preloading_after_arel_has_been_generated
end
end
def
test_marshal_load_legacy_relation
path
=
File
.
expand_path
(
"support/marshal_compatibility_fixtures/legacy_relation.dump"
,
TEST_ROOT
)
assert_equal
11
,
Marshal
.
load
(
File
.
read
(
path
)).
size
end
test
"no queries on empty IN"
do
assert_queries
(
0
)
do
Post
.
where
(
id:
[]).
load
...
...
activerecord/test/cases/yaml_serialization_test.rb
浏览文件 @
a5d334cc
...
...
@@ -132,8 +132,8 @@ def test_yaml_encoding_keeps_false_values
private
def
yaml_fixture
(
file_name
)
path
=
File
.
expand_path
(
"
../
support/yaml_compatibility_fixtures/
#{
file_name
}
.yml"
,
__dir__
"support/yaml_compatibility_fixtures/
#{
file_name
}
.yml"
,
TEST_ROOT
)
File
.
read
(
path
)
end
...
...
activerecord/test/support/marshal_compatibility_fixtures/legacy_relation.dump
0 → 100644
浏览文件 @
a5d334cc
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录