2016-05-04 44 views
2

当创建红宝石续集数据库宝石机型使用这样的语法:红宝石继承语法 - 传递参数给基类

class Users < Sequel::Model(:users) # <= what method is getting called here? 
# other stuff... 
end 

哪里:users是表的名称。

当我为自己的类定义子类时,我想将这样的参数传递给基类,但是我无法弄清楚如何去做。我不知道这个语法是怎么调用的,而且在我的谷歌搜索中我找不到任何它的例子。我也尝试着看Sequel :: Model的源代码,但是它的这样一个大类我找不到相关的章节。

有没有人知道这个语法是什么以及它是如何工作的?

+1

有一点要考虑:你真的想用的语法是如此神秘,你很难找到它自己吗?可能值得一些更平凡的事情(但其他维护者可以在未来更容易理解)。只是一个想法。 – ezuk

回答

3

使普通的类/模块方法调用看起来像参数化类型是常见的技巧。

实际上有一个模块方法Sequel::Model它采用一个参数并返回一个类(请参阅the source code)。

+0

ah right ok,它没有特殊的语法,只是一个返回类的方法... – Nathan