Class: Mongoid::Fields::Serializable::Integer

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

Overview

Defines the behaviour for integer 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, #deserialize, #eval_default, #metadata, #object_id_field?, #type, #versioned?

Instance Method Details

#serialize(object) ⇒ Integer

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:

  • (Integer)

    The converted integer.

Since:

  • 2.1.0



21
22
23
24
25
26
27
28
# File 'lib/mongoid/fields/serializable/integer.rb', line 21

def serialize(object)
  return nil if object.blank?
  begin
    object.to_s =~ /(^[-+]?[0-9]+$)|(\.0+)$/ ? Integer(object) : Float(object)
  rescue
    object
  end
end