模块:Mongoid::Criteria::Marshalable
- 包含在:
- Mongoid::Criteria
- 定义于:
- lib/mongoid/criteria/marshalable.rb
Overview
Mongoid::Criteria 的 Mixin 模块,其中添加了自定义 Marshal.dump 功能。
实例方法摘要折叠
-
# marshal_dump ⇒ Array<Object>
提供 Marshal.dump 条件所需的数据。
-
# marshal_load (data) ⇒ 对象
在执行完 Marshal.load 之后重置条件对象。
实例方法详细信息
# marshal_dump ⇒ Array<Object>
提供 Marshal.dump 条件所需的数据。
注意:此处编写Mongo是为了向后兼容 Mongoid 7及更早版本。
17 18 19 20 |
# File 'lib/mongoid/criteria/marshalable.rb', line 17 def marshal_dump 数据 = [ klass, :mongo, 包含, 文档, 策略, 否定, use_lookup? ] 数据.推动().推动(dump_hash(:selector)).推动(dump_hash(:options)) end |
# marshal_load (data) ⇒对象
在执行完 Marshal.load 之后重置条件对象
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mongoid/criteria/marshalable.rb', line 28 def marshal_load(数据) @scoping_options, raw_selector, = 数据.Pop(3) @klass, 驱动, @inclusions, @documents, @strategy, @negating, @use_lookup = 数据 if 驱动 == : Mongo1 x 提高 NotImplementedError, 'Mongoid 不再支持使用驱动程序版本 1.x 进行编组。' end @selector = load_hash(可查询::选择器, raw_selector) @options = load_hash(可查询::选项, ) end |