Method: Quandl::Util.convert_to_dates

Defined in:
lib/quandl/util.rb

.convert_to_dates(hash) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/quandl/util.rb', line 7

def self.convert_to_dates(hash)
  return hash unless hash.is_a?(Hash)
  hash.update(hash) do |_k, v|
    if v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}$/ # Date
      Date.parse(v)
    elsif v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}T[\d:\.]+Z/ # DateTime
      Time.parse(v)
    elsif v.is_a?(Array)
      v.map { |ao| convert_to_dates(ao) }
    elsif v.is_a?(Hash)
      convert_to_dates(v)
    else
      v
    end
  end
  hash
end