Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
72cbccb5
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,发现更多精彩内容 >>
提交
72cbccb5
编写于
3月 26, 2012
作者:
L
Lukasz Sarnacki
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ActiveModel::Name does not inherit from string
上级
1d59caa9
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
17 addition
and
12 deletion
+17
-12
activemodel/lib/active_model/lint.rb
activemodel/lib/active_model/lint.rb
+1
-1
activemodel/lib/active_model/naming.rb
activemodel/lib/active_model/naming.rb
+16
-11
未找到文件。
activemodel/lib/active_model/lint.rb
浏览文件 @
72cbccb5
...
@@ -78,7 +78,7 @@ def test_persisted?
...
@@ -78,7 +78,7 @@ def test_persisted?
def
test_model_naming
def
test_model_naming
assert
model
.
class
.
respond_to?
(
:model_name
),
"The model should respond to model_name"
assert
model
.
class
.
respond_to?
(
:model_name
),
"The model should respond to model_name"
model_name
=
model
.
class
.
model_name
model_name
=
model
.
class
.
model_name
assert_kind_of
String
,
model_name
assert_kind_of
ActiveModel
::
Name
,
model_name
assert_kind_of
String
,
model_name
.
human
assert_kind_of
String
,
model_name
.
human
assert_kind_of
String
,
model_name
.
singular
assert_kind_of
String
,
model_name
.
singular
assert_kind_of
String
,
model_name
.
plural
assert_kind_of
String
,
model_name
.
plural
...
...
activemodel/lib/active_model/naming.rb
浏览文件 @
72cbccb5
...
@@ -2,31 +2,36 @@
...
@@ -2,31 +2,36 @@
require
'active_support/core_ext/hash/except'
require
'active_support/core_ext/hash/except'
require
'active_support/core_ext/module/introspection'
require
'active_support/core_ext/module/introspection'
require
'active_support/core_ext/module/deprecation'
require
'active_support/core_ext/module/deprecation'
require
'active_support/core_ext/module/delegation'
require
'active_support/core_ext/object/blank'
require
'active_support/core_ext/object/blank'
module
ActiveModel
module
ActiveModel
class
Name
<
String
class
Name
include
Comparable
attr_reader
:singular
,
:plural
,
:element
,
:collection
,
attr_reader
:singular
,
:plural
,
:element
,
:collection
,
:singular_route_key
,
:route_key
,
:param_key
,
:i18n_key
:singular_route_key
,
:route_key
,
:param_key
,
:i18n_key
,
:name
alias_method
:cache_key
,
:collection
alias_method
:cache_key
,
:collection
de
f
initialize
(
klass
,
namespace
=
nil
,
name
=
nil
)
de
legate
:==
,
:===
,
:<=>
,
:
=~
,
:"!~"
,
:eql?
,
:to_s
,
name
||=
klass
.
name
:to_str
,
:to
=>
:
name
raise
ArgumentError
,
"Class name cannot be blank. You need to supply a name argument when anonymous class given"
if
name
.
blank?
def
initialize
(
klass
,
namespace
=
nil
,
name
=
nil
)
@name
=
name
||
klass
.
name
super
(
name
)
raise
ArgumentError
,
"Class name cannot be blank. You need to supply a name argument when anonymous class given"
if
@name
.
blank?
@unnamespaced
=
self
.
sub
(
/^
#{
namespace
.
name
}
::/
,
''
)
if
namespace
@unnamespaced
=
@name
.
sub
(
/^
#{
namespace
.
name
}
::/
,
''
)
if
namespace
@klass
=
klass
@klass
=
klass
@singular
=
_singularize
(
self
).
freeze
@singular
=
_singularize
(
@name
).
freeze
@plural
=
ActiveSupport
::
Inflector
.
pluralize
(
@singular
).
freeze
@plural
=
ActiveSupport
::
Inflector
.
pluralize
(
@singular
).
freeze
@element
=
ActiveSupport
::
Inflector
.
underscore
(
ActiveSupport
::
Inflector
.
demodulize
(
self
)).
freeze
@element
=
ActiveSupport
::
Inflector
.
underscore
(
ActiveSupport
::
Inflector
.
demodulize
(
@name
)).
freeze
@human
=
ActiveSupport
::
Inflector
.
humanize
(
@element
).
freeze
@human
=
ActiveSupport
::
Inflector
.
humanize
(
@element
).
freeze
@collection
=
ActiveSupport
::
Inflector
.
tableize
(
self
).
freeze
@collection
=
ActiveSupport
::
Inflector
.
tableize
(
@name
).
freeze
@param_key
=
(
namespace
?
_singularize
(
@unnamespaced
)
:
@singular
).
freeze
@param_key
=
(
namespace
?
_singularize
(
@unnamespaced
)
:
@singular
).
freeze
@i18n_key
=
self
.
underscore
.
to_sym
@i18n_key
=
@name
.
underscore
.
to_sym
@route_key
=
(
namespace
?
ActiveSupport
::
Inflector
.
pluralize
(
@param_key
)
:
@plural
.
dup
)
@route_key
=
(
namespace
?
ActiveSupport
::
Inflector
.
pluralize
(
@param_key
)
:
@plural
.
dup
)
@singular_route_key
=
ActiveSupport
::
Inflector
.
singularize
(
@route_key
).
freeze
@singular_route_key
=
ActiveSupport
::
Inflector
.
singularize
(
@route_key
).
freeze
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录