quandl 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|