class XapianDb::TypeCodec::IntegerCodec

Public Class Methods

decode(encoded_integer) click to toggle source

Decode a string to an integer @param [String] integer_as_string a string representing an integer @return [Integer] the decoded integer

    # File lib/type_codec.rb
188 def self.decode(encoded_integer)
189   begin
190     return nil if encoded_integer.nil? || encoded_integer.to_s.strip == ""
191     Xapian::sortable_unserialise(encoded_integer).to_i
192   rescue TypeError
193     raise ArgumentError.new "#{encoded_integer} cannot be unserialized"
194   end
195 end
encode(number) click to toggle source

Encode an integer to a sortable string @param [Integer] integer an integer to encode @return [String] the encoded integer

    # File lib/type_codec.rb
175 def self.encode(number)
176   return nil if number.nil?
177   case number.class.name
178     when "Fixnum", "Integer"
179       Xapian::sortable_serialise number
180     else
181       raise ArgumentError.new "#{number} was expected to be an integer"
182   end
183 end