Class: Quandl::Util
- Inherits:
-
Object
- Object
- Quandl::Util
- Defined in:
- lib/quandl/util.rb
Class Method Summary collapse
- .constructed_path(path, params = {}) ⇒ Object
- .convert_to_dates(hash) ⇒ Object
- .methodize(string) ⇒ Object
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 |