class Jelastic::Serializers::Base

Private Instance Methods

clean(hash = {}) click to toggle source
# File lib/jelastic/serializers/base.rb, line 6
def clean(hash = {})
  new_hash = {}

  hash.each do |key, value|
    if value.respond_to?(:to_hash) && value.length > 0
      new_hash[key] = clean(value)
    elsif value.respond_to?(:to_ary) && value[0].respond_to?(:to_hash)
      new_hash[key] = []
      value.each do |v|
        new_hash[key] << clean(v)
      end
    elsif !value.nil?
      new_hash[key] = value
    end
  end

  new_hash
end