module LessStruct::Util::Time

Public Class Methods

deep_restore_time_in_hac(hash) click to toggle source
# File lib/less_struct/util/time.rb, line 11
def deep_restore_time_in_hac(hash)
  hash.inject({}) do |result_hash,(k,v)|
    case v
    when ::Hash
      result_hash[k] = deep_restore_time_in_hac(v)
    when Array
      result_hash[k] = v.map {|o| deep_restore_time_in_hac(o) }
    else
      if k.to_s.end_with?("_at") && v.is_a?(::String)
        result_hash[k] = ::Time.parse(v).utc
      else
        result_hash[k] = v
      end
    end
    result_hash
  end
end