Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby sequel相当于ActiveRecord none_Ruby_Sequel - Fatal编程技术网

Ruby sequel相当于ActiveRecord none

Ruby sequel相当于ActiveRecord none,ruby,sequel,Ruby,Sequel,我正在寻找一种方法来复制续集中的行为。到目前为止,我还没有找到一种方法来创建一个数据集或类似数据集的东西,而不将它绑定到一个表上 目前,我只是返回一个enum,但我希望保留dataset API以不破坏任何链接 例如 class用户数据集实例 Sequel有一个空的数据集扩展:您可以使用类似Rspec::Instance Double的东西来创建一个模拟对象,并在生产中使用它,而不是用于测试。这可能是一种非常昂贵的方式。很有趣!是的,如果可能的话,我不希望在生产中要求Rspec。这可能是个愚蠢的

我正在寻找一种方法来复制续集中的行为。到目前为止,我还没有找到一种方法来创建一个数据集或类似数据集的东西,而不将它绑定到一个表上

目前,我只是返回一个
enum
,但我希望保留dataset API以不破坏任何链接

例如

class用户数据集实例

Sequel有一个空的数据集扩展:

您可以使用类似Rspec::Instance Double的东西来创建一个模拟对象,并在生产中使用它,而不是用于测试。这可能是一种非常昂贵的方式。很有趣!是的,如果可能的话,我不希望
在生产中要求
Rspec。这可能是个愚蠢的想法,但是,您是否尝试过使用
Sequel::Dataset。新的
用于此目的?太好了!我将尝试提交一份PR,在续集文档的
active\u record
部分添加对这一点的提及。我的google fu可能很弱,但我试着搜索了一点也没用。我发现它的用法相当尴尬。我需要说
DB[:users].nullify
而不是
User.nullify
User.dataset.nullify
。我希望避免获取数据库本身以返回空数据集。这可能有助于澄清您的答案,或者我可以问一个单独的问题。假设您在创建用户类之前运行了
DB.extension:null_dataset
,那么您只需要执行
def User.nullify;dataset.nullify结束
class User < Sequel::Model
end

User.none  # => instance of dataset