Method: Eternity::Blob.normalize

Defined in:
lib/eternity/blob.rb

.normalize(data) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/eternity/blob.rb', line 43

def normalize(data)
  if data.kind_of? Hash
    sorted_data = Hash[data.sort_by { |k,v| k.to_s }]
    sorted_data.each { |k,v| sorted_data[k] = normalize v }

  elsif data.kind_of? Array
    data.map { |v| normalize v }

  elsif data.kind_of? String
    data.encode 'UTF-8'

  elsif data.respond_to? :utc
    data.utc.strftime TIME_FORMAT

  else
    data
  end
end