quandl 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/quandl/connection.rb +2 -2
- data/lib/quandl/errors/quandl_error.rb +1 -7
- data/lib/quandl/model/base.rb +1 -1
- data/lib/quandl/model/database.rb +4 -5
- data/lib/quandl/model/dataset.rb +1 -1
- data/lib/quandl/model/list.rb +1 -2
- data/lib/quandl/util.rb +2 -2
- data/lib/quandl/version.rb +1 -1
- metadata +20 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3d4680c92a1565994d4f21afb2599c53c2ce9fc586a394ebbfcc701c9f5921f
|
4
|
+
data.tar.gz: 724353065c55448a8ca49bedfedd416a48f6c973bba5bb810902bfa528879d8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa2019b05f0a47855226f349374311135b2985cce894f505afeeb7f3cf05fe709c0118030c5bae34fbe4d3282ba290f90b05151befd2bce84d0f68fe2c31b947
|
7
|
+
data.tar.gz: c740d3dcb67a5066754e65e066048bd119f117306bcec772b3443c24cee3b503e573d4c4b33fca46e8a22166af16d7564b9e164d78fd8d98f404a756e775b25e
|
data/lib/quandl/connection.rb
CHANGED
@@ -8,8 +8,8 @@ module Quandl
|
|
8
8
|
headers = { accept: accept_value, request_source: 'ruby', request_source_version: Quandl::VERSION }.merge(headers)
|
9
9
|
headers = { x_api_token: ApiConfig.api_key }.merge(headers) if ApiConfig.api_key
|
10
10
|
|
11
|
-
request_url = ApiConfig.api_base
|
12
|
-
request_url = request_url
|
11
|
+
request_url = "#{ApiConfig.api_base}/#{url}"
|
12
|
+
request_url = "#{request_url}?#{params.to_query}" if params.present?
|
13
13
|
|
14
14
|
request_opts = { url: request_url, headers: headers, method: http_verb }
|
15
15
|
response = execute_request(request_opts, &block)
|
@@ -1,13 +1,7 @@
|
|
1
1
|
# based off of stripe gem: https://github.com/stripe/stripe-ruby
|
2
2
|
module Quandl
|
3
3
|
class QuandlError < StandardError
|
4
|
-
attr_reader :quandl_message
|
5
|
-
attr_reader :http_status
|
6
|
-
attr_reader :http_body
|
7
|
-
attr_reader :http_headers
|
8
|
-
attr_reader :request_id
|
9
|
-
attr_reader :json_body
|
10
|
-
attr_reader :quandl_error_code
|
4
|
+
attr_reader :quandl_message, :http_status, :http_body, :http_headers, :request_id, :json_body, :quandl_error_code
|
11
5
|
|
12
6
|
# rubocop:disable Metrics/ParameterLists
|
13
7
|
def initialize(quandl_message = nil, http_status = nil, http_body = nil, json_body = nil,
|
data/lib/quandl/model/base.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Quandl
|
2
2
|
class ModelBase
|
3
3
|
def initialize(data, _options = {})
|
4
|
-
@raw_data = ActiveSupport::HashWithIndifferentAccess.new(
|
4
|
+
@raw_data = ActiveSupport::HashWithIndifferentAccess.new(data.transform_keys { |k| Quandl::Util.methodize(k) })
|
5
5
|
end
|
6
6
|
|
7
7
|
def data_fields
|
@@ -11,21 +11,20 @@ module Quandl
|
|
11
11
|
options.assert_valid_keys(:params)
|
12
12
|
|
13
13
|
url = bulk_download_path
|
14
|
-
url = Quandl::ApiConfig.api_base
|
14
|
+
url = "#{Quandl::ApiConfig.api_base}/#{url}"
|
15
15
|
url = Quandl::Util.constructed_path(url, id: database_code)
|
16
16
|
|
17
17
|
params = options[:params] || {}
|
18
18
|
params['api_key'] = Quandl::ApiConfig.api_key if Quandl::ApiConfig.api_key
|
19
19
|
params['api_version'] = Quandl::ApiConfig.api_version if Quandl::ApiConfig.api_version
|
20
20
|
|
21
|
-
url +=
|
21
|
+
url += "?#{params.to_query}" if params.any?
|
22
22
|
url
|
23
23
|
end
|
24
24
|
|
25
25
|
def bulk_download_path
|
26
|
-
path = self.class.default_path
|
27
|
-
|
28
|
-
path
|
26
|
+
path = "#{self.class.default_path}/data"
|
27
|
+
Quandl::Util.constructed_path(path, id: database_code)
|
29
28
|
end
|
30
29
|
|
31
30
|
def bulk_download_to_file(file_or_folder_path, options = {})
|
data/lib/quandl/model/dataset.rb
CHANGED
data/lib/quandl/model/list.rb
CHANGED
data/lib/quandl/util.rb
CHANGED
@@ -10,7 +10,7 @@ module Quandl
|
|
10
10
|
hash.update(hash) do |_k, v|
|
11
11
|
if v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}$/ # Date
|
12
12
|
Date.parse(v)
|
13
|
-
elsif v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}T[\d
|
13
|
+
elsif v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}T[\d:.]+Z/ # DateTime
|
14
14
|
Time.parse(v)
|
15
15
|
elsif v.is_a?(Array)
|
16
16
|
v.map { |ao| convert_to_dates(ao) }
|
@@ -25,7 +25,7 @@ module Quandl
|
|
25
25
|
|
26
26
|
def self.constructed_path(path, params = {})
|
27
27
|
params ||= {}
|
28
|
-
sub_params =
|
28
|
+
sub_params = { id: nil }.merge(params).transform_keys { |k| ":#{k}" }
|
29
29
|
params.delete_if { |key, _value| path =~ /:#{key}/ }
|
30
30
|
|
31
31
|
path = path.dup
|
data/lib/quandl/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quandl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Matthew Basset
|
7
|
+
- Quandl
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2020-
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
@@ -67,6 +66,20 @@ dependencies:
|
|
67
66
|
- - "~>"
|
68
67
|
- !ruby/object:Gem::Version
|
69
68
|
version: 4.5.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: irb
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
70
83
|
- !ruby/object:Gem::Dependency
|
71
84
|
name: rspec
|
72
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,8 +124,7 @@ dependencies:
|
|
111
124
|
version: 3.0.1
|
112
125
|
description: A ruby implementation of the quandl client to be used as an ORM for quandl's
|
113
126
|
restful APIs.
|
114
|
-
email:
|
115
|
-
- dev@quandl.com
|
127
|
+
email: dev@quandl.com
|
116
128
|
executables: []
|
117
129
|
extensions: []
|
118
130
|
extra_rdoc_files: []
|
@@ -144,14 +156,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
156
|
requirements:
|
145
157
|
- - ">="
|
146
158
|
- !ruby/object:Gem::Version
|
147
|
-
version: '
|
159
|
+
version: '2.5'
|
148
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
161
|
requirements:
|
150
162
|
- - ">="
|
151
163
|
- !ruby/object:Gem::Version
|
152
164
|
version: '0'
|
153
165
|
requirements: []
|
154
|
-
rubygems_version: 3.0.
|
166
|
+
rubygems_version: 3.0.3
|
155
167
|
signing_key:
|
156
168
|
specification_version: 4
|
157
169
|
summary: An ORM interface into the quandl api.
|