module Dynamoid::Dumping::DeepSanitizeHelper

Public Instance Methods

deep_sanitize(value) click to toggle source
# File lib/dynamoid/dumping.rb, line 51
def deep_sanitize(value)
  case value
  when Hash
    sanitize_hash(value).transform_values { |v| deep_sanitize(v) }
  when Array
    sanitize_array(value).map { |v| deep_sanitize(v) }
  else
    value
  end
end

Private Instance Methods

invalid_value?(value) click to toggle source
# File lib/dynamoid/dumping.rb, line 72
def invalid_value?(value)
  (value.is_a?(Set) || value.is_a?(String)) && value.empty?
end
sanitize_array(array) click to toggle source
# File lib/dynamoid/dumping.rb, line 68
def sanitize_array(array)
  array.map { |v| invalid_value?(v) ? nil : v }
end
sanitize_hash(hash) click to toggle source
# File lib/dynamoid/dumping.rb, line 64
def sanitize_hash(hash)
  hash.transform_values { |v| invalid_value?(v) ? nil : v }
end