Class: Quandl::Util

Inherits:
Object
  • Object
show all
Defined in:
lib/quandl/util.rb

Class Method Summary collapse

Class Method Details

.constructed_path(path, params = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/quandl/util.rb', line 25

def self.constructed_path(path, params = {})
  params ||= {}
  sub_params = Hash[{ id: nil }.merge(params).map { |k, v| [':' + k.to_s, v] }]
  params.delete_if { |key, _value| path =~ /:#{key}/ }

  path = path.dup
  path.gsub!(Regexp.union(sub_params.keys), sub_params)
  path
end

.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

.methodize(string) ⇒ Object



3
4
5
# File 'lib/quandl/util.rb', line 3

def self.methodize(string)
  string.gsub(/\./, '').parameterize.gsub(/\-/, '_')
end