Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
1c3a6e8f
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 搜索 >>
提交
1c3a6e8f
编写于
7月 17, 2019
作者:
R
Ryuta Kamizono
提交者:
Eugene Kenny
3月 22, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge pull request #36696 from inopinatus/support_beginless_ranges
Support beginless ranges in hash conditions.
上级
4e3fd929
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
2 deletion
+30
-2
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+4
-0
activerecord/lib/arel/predications.rb
activerecord/lib/arel/predications.rb
+2
-2
activerecord/test/cases/arel/attributes/attribute_test.rb
activerecord/test/cases/arel/attributes/attribute_test.rb
+24
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
1c3a6e8f
*
Add support for beginless ranges, introduced in Ruby 2.7.
*Josh Goodall*
*
Fix insert_all with enum values
Fixes #38716.
...
...
activerecord/lib/arel/predications.rb
浏览文件 @
1c3a6e8f
...
...
@@ -37,7 +37,7 @@ def eq_all(others)
def
between
(
other
)
if
unboundable?
(
other
.
begin
)
==
1
||
unboundable?
(
other
.
end
)
==
-
1
self
.
in
([])
elsif
open_ended?
(
other
.
begin
)
elsif
o
ther
.
begin
.
nil?
||
o
pen_ended?
(
other
.
begin
)
if
other
.
end
.
nil?
||
open_ended?
(
other
.
end
)
not_in
([])
elsif
other
.
exclude_end?
...
...
@@ -85,7 +85,7 @@ def in_all(others)
def
not_between
(
other
)
if
unboundable?
(
other
.
begin
)
==
1
||
unboundable?
(
other
.
end
)
==
-
1
not_in
([])
elsif
open_ended?
(
other
.
begin
)
elsif
o
ther
.
begin
.
nil?
||
o
pen_ended?
(
other
.
begin
)
if
other
.
end
.
nil?
||
open_ended?
(
other
.
end
)
self
.
in
([])
elsif
other
.
exclude_end?
...
...
activerecord/test/cases/arel/attributes/attribute_test.rb
浏览文件 @
1c3a6e8f
...
...
@@ -638,6 +638,18 @@ class AttributeTest < Arel::Spec
)
end
if
Gem
::
Version
.
new
(
"2.7.0"
)
<=
Gem
::
Version
.
new
(
RUBY_VERSION
)
it
"can be constructed with a range implicitly starting at Infinity"
do
attribute
=
Attribute
.
new
nil
,
nil
node
=
attribute
.
between
(
eval
(
"..0"
))
# eval for backwards compatibility
node
.
must_equal
Nodes
::
LessThanOrEqual
.
new
(
attribute
,
Nodes
::
Casted
.
new
(
0
,
attribute
)
)
end
end
if
Gem
::
Version
.
new
(
"2.6.0"
)
<=
Gem
::
Version
.
new
(
RUBY_VERSION
)
it
"can be constructed with a range implicitly ending at Infinity"
do
attribute
=
Attribute
.
new
nil
,
nil
...
...
@@ -839,6 +851,18 @@ class AttributeTest < Arel::Spec
)
end
if
Gem
::
Version
.
new
(
"2.7.0"
)
<=
Gem
::
Version
.
new
(
RUBY_VERSION
)
it
"can be constructed with a range implicitly starting at Infinity"
do
attribute
=
Attribute
.
new
nil
,
nil
node
=
attribute
.
not_between
(
eval
(
"..0"
))
# eval for backwards compatibility
node
.
must_equal
Nodes
::
GreaterThan
.
new
(
attribute
,
Nodes
::
Casted
.
new
(
0
,
attribute
)
)
end
end
if
Gem
::
Version
.
new
(
"2.6.0"
)
<=
Gem
::
Version
.
new
(
RUBY_VERSION
)
it
"can be constructed with a range implicitly ending at Infinity"
do
attribute
=
Attribute
.
new
nil
,
nil
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录