Class: Mongoid::Fields::Serializable::Range

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Fields::Serializable
Defined in:
lib/mongoid/fields/serializable/range.rb

Overview

Defines the behaviour for range fields.

Instance Attribute Summary

Attributes included from Mongoid::Fields::Serializable

#default, #label, #name, #options

Instance Method Summary collapse

Methods included from Mongoid::Fields::Serializable

#cast_on_read?, #constraint, #eval_default, #metadata, #object_id_field?, #type, #versioned?

Instance Method Details

#deserialize(object) ⇒ Range

Deserialize this field from the type stored in MongoDB to the type defined on the model.

Examples:

Deserialize the field.

field.deserialize(object)

Parameters:

  • object (Object)

    The object to cast.

Returns:

  • (Range)

    The converted range.

Since:

  • 2.1.0



21
22
23
# File 'lib/mongoid/fields/serializable/range.rb', line 21

def deserialize(object)
  object.nil? ? nil : ::Range.new(object["min"], object["max"])
end

#serialize(object) ⇒ Hash

Serialize the object from the type defined in the model to a MongoDB compatible object to store.

Examples:

Serialize the field.

field.serialize(object)

Parameters:

  • object (Object)

    The object to cast.

Returns:

  • (Hash)

    The converted hash.

Since:

  • 2.1.0



36
37
38
# File 'lib/mongoid/fields/serializable/range.rb', line 36

def serialize(object)
  object.nil? ? nil : { "min" => object.min, "max" => object.max }
end