Class: RestModel::Serialization::Integer

Inherits:
Object
  • Object
show all
Defined in:
lib/rest_model/serialization/integer.rb

Class Method Summary collapse

Class Method Details

.desserialize(value, options = {}) ⇒ Object



19
20
21
22
23
# File 'lib/rest_model/serialization/integer.rb', line 19

def self.desserialize(value, options = {})
  length = options.fetch(:padding_zeros, 0)
  return serialize(value) if length == 0
  serialize(value).to_s.rjust(length, "0")
end

.serialize(value, options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/rest_model/serialization/integer.rb', line 4

def self.serialize(value, options = {})
  case value
  when ::String
    if value =~ /^\-?\d+$/
      value.to_i
    else
      raise
    end
  else
    Integer(value)
  end
rescue
  raise SerializationError, "value '#{value}' is not an integer"
end