Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
cc31c7fb
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,发现更多精彩内容 >>
提交
cc31c7fb
编写于
8月 24, 2014
作者:
J
Jeremy Kemper
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #16662 from robin850/duration-instance-of
Fix `ActiveSupport::Duration#instance_of?` to behave like `#is_a?`
上级
ae66fda4
61a371cf
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
9 deletion
+14
-9
activesupport/CHANGELOG.md
activesupport/CHANGELOG.md
+3
-2
activesupport/lib/active_support/duration.rb
activesupport/lib/active_support/duration.rb
+2
-2
activesupport/test/core_ext/duration_test.rb
activesupport/test/core_ext/duration_test.rb
+9
-5
未找到文件。
activesupport/CHANGELOG.md
浏览文件 @
cc31c7fb
*
Add the
`Duration#instance_of?`
method that was previously delegated to the
internal
`value`
attribute.
*
Fix the
`ActiveSupport::Duration#instance_of?`
method to return the right
value with the class itself since it was previously delegated to the
internal value.
*Robin Dupret*
...
...
activesupport/lib/active_support/duration.rb
浏览文件 @
cc31c7fb
...
...
@@ -35,12 +35,12 @@ def -@ #:nodoc:
end
def
is_a?
(
klass
)
#:nodoc:
instance_of?
(
klass
)
||
value
.
is_a?
(
klass
)
Duration
==
klass
||
value
.
is_a?
(
klass
)
end
alias
:kind_of?
:is_a?
def
instance_of?
(
klass
)
# :nodoc:
Duration
==
klass
Duration
==
klass
||
value
.
instance_of?
(
klass
)
end
# Returns +true+ if +other+ is also a Duration instance with the
...
...
activesupport/test/core_ext/duration_test.rb
浏览文件 @
cc31c7fb
...
...
@@ -20,6 +20,12 @@ class << k; undef_method :== end
assert
!
d
.
is_a?
(
k
)
end
def
test_instance_of
assert
1
.
minute
.
instance_of?
(
Fixnum
)
assert
2
.
days
.
instance_of?
(
ActiveSupport
::
Duration
)
assert
!
3
.
second
.
instance_of?
(
Numeric
)
end
def
test_threequals
assert
ActiveSupport
::
Duration
===
1
.
day
assert
!
(
ActiveSupport
::
Duration
===
1
.
day
.
to_i
)
...
...
@@ -35,17 +41,15 @@ def test_equals
end
def
test_eql
rubinius_skip
"Rubinius' #eql? definition relies on #instance_of? "
\
"which behaves oddly for the sake of backward-compatibility."
assert
1
.
minute
.
eql?
(
1
.
minute
)
assert
2
.
days
.
eql?
(
48
.
hours
)
assert
!
1
.
second
.
eql?
(
1
)
assert
!
1
.
eql?
(
1
.
second
)
end
def
test_instance_of
assert
!
1
.
minute
.
instance_of?
(
Fixnum
)
assert
!
2
.
days
.
instance_of?
(
Fixnum
)
end
def
test_inspect
assert_equal
'0 seconds'
,
0
.
seconds
.
inspect
assert_equal
'1 month'
,
1
.
month
.
inspect
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录