module Admin::Stats::HashWithReaders::CleanResults

Public Instance Methods

deep_clear_default!(obj = self) click to toggle source

remove Hash default blocks for serialization (changes original!) See: stackoverflow.com/questions/6391855/rails-cache-error-in-rails-3-1-typeerror-cant-dump-hash-with-default-proc

# File lib/admin/stats/results.rb, line 44
def deep_clear_default!(obj = self)
  if obj.is_a? Hash
    obj.default = nil if obj.default_proc
    obj.each {|k,v| deep_clear_default!(v)}
  elsif obj.is_a? Array
    obj.each {|v| deep_clear_default!(v)}
  end
  obj
end