Module: Mongoid::Criteria::Marshalable

Included in:
Mongoid::Criteria
Defined in:
lib/mongoid/criteria/marshalable.rb

Instance Method Summary collapse

Instance Method Details

#marshal_dumpArray<Object>

Provides the data needed to Marshal.dump a criteria.

Examples:

Dump the criteria.

Marshal.dump(criteria)

Returns:

  • (Array<Object>)

    The dumped data.

Since:

  • 3.0.15


14
15
16
17
# File 'lib/mongoid/criteria/marshalable.rb', line 14

def marshal_dump
  data = [ klass, driver, inclusions, documents, strategy, negating ]
  data.push(scoping_options).push(dump_hash(:selector)).push(dump_hash(:options))
end

#marshal_load(data) ⇒ Object

Resets the criteria object after a Marshal.load

Examples:

Load the criteria.

Marshal.load(criteria)

Parameters:

  • data (Array)

    The raw data.

Since:

  • 3.0.15


27
28
29
30
31
32
# File 'lib/mongoid/criteria/marshalable.rb', line 27

def marshal_load(data)
  @scoping_options, raw_selector, raw_options = data.pop(3)
  @klass, @driver, @inclusions, @documents, @strategy, @negating = data
  @selector = load_hash(Origin::Selector, raw_selector)
  @options = load_hash(Origin::Options, raw_options)
end