lib/rest_model/serialization/integer.rb in rest_model-0.2.1 vs lib/rest_model/serialization/integer.rb in rest_model-0.2.3

- old
+ new

@@ -1,12 +1,12 @@ class RestModel module Serialization class Integer - def self.serialize(value) + def self.serialize(value, options = {}) case value when ::String - if value =~ /^\d+$/ + if value =~ /^\-?\d+$/ value.to_i else raise end else @@ -14,11 +14,13 @@ end rescue raise SerializationError, "value '#{value}' is not an integer" end - def self.desserialize(value) - serialize(value) + 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 end end end