quandl 1.0.1 → 1.1.1
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 +5 -5
- data/README.md +10 -20
- data/lib/quandl/api_config.rb +18 -3
- data/lib/quandl/connection.rb +16 -16
- data/lib/quandl/errors/quandl_error.rb +3 -0
- data/lib/quandl/model/base.rb +1 -0
- data/lib/quandl/model/data.rb +6 -0
- data/lib/quandl/model/database.rb +17 -11
- data/lib/quandl/model/dataset.rb +2 -2
- data/lib/quandl/model/list.rb +4 -2
- data/lib/quandl/operations/get.rb +2 -2
- data/lib/quandl/util.rb +2 -1
- data/lib/quandl/version.rb +3 -1
- metadata +21 -65
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8481bd2e2b3c7f1cf717957487dd202dd480499ca654a158b3f2c05d6d79a849
|
4
|
+
data.tar.gz: dae3cfe235ca3195fd537bca6a1ac9a4a74f91d8f8110e85cd9a04f145a3d7fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16e109f9880cabb3fd880e4a5dc1b68c9bb7bd179137b67de8812cf6ded8c1a73dc89b4e262c877840d6ce43b89802f8ed31a680fc1287a33f423cd7d6d32acd
|
7
|
+
data.tar.gz: 7b67c735c72a6170a0aa00c328cd21af6743c8ce1f40f4dc072b71a7fc256fbf842099d5f18b8b4b01e9198d37446c2442bc920fde931a32c2da75146908c627
|
data/README.md
CHANGED
@@ -2,13 +2,6 @@
|
|
2
2
|
|
3
3
|
The official ruby gem for all your data needs! The Quandl client can be used to interact with the latest version of the [Quandl RESTful API](https://www.quandl.com/docs/api).
|
4
4
|
|
5
|
-
## Deprecation of old package
|
6
|
-
|
7
|
-
With the release of our v3 API we are officially deprecating version 2 of the `quandl_client` ruby gem. We have re-written the package from the ground up and will be moving forward with a 1.x.x package with the name of `quandl` that will rely on version 3 of our restful api. During this transitional period you can continue to use the old package here:
|
8
|
-
|
9
|
-
https://rubygems.org/gems/quandl_client
|
10
|
-
|
11
|
-
|
12
5
|
## Installation
|
13
6
|
|
14
7
|
```ruby
|
@@ -32,7 +25,7 @@ Quandl::ApiConfig.api_version = '2015-04-09'
|
|
32
25
|
|
33
26
|
### Dataset
|
34
27
|
|
35
|
-
Retrieving dataset data can be done in a similar way to Databases. For example to retrieve a dataset use its full code:
|
28
|
+
Retrieving dataset data can be done in a similar way to Databases. For example to retrieve a dataset use its full code:
|
36
29
|
|
37
30
|
```ruby
|
38
31
|
require 'quandl'
|
@@ -60,7 +53,7 @@ Quandl::Dataset.get('WIKI/AAPL').data
|
|
60
53
|
=> ... data ...
|
61
54
|
```
|
62
55
|
|
63
|
-
|
56
|
+
You can access the data much like you would other lists. In addition all the data column fields are mapped to their column_names for convenience:
|
64
57
|
|
65
58
|
```ruby
|
66
59
|
Quandl::Dataset.get('WIKI/AAPL').data.first.date
|
@@ -84,9 +77,9 @@ Quandl::Database.all
|
|
84
77
|
=> ... results ...
|
85
78
|
```
|
86
79
|
|
87
|
-
### Database Bulk Download
|
80
|
+
### Download Entire Database (Bulk Download)
|
88
81
|
|
89
|
-
To get the url for
|
82
|
+
To get the url for downloading all dataset data of a database:
|
90
83
|
|
91
84
|
```ruby
|
92
85
|
require 'quandl'
|
@@ -95,19 +88,21 @@ Quandl::Database.get('ZEA').bulk_download_url
|
|
95
88
|
=> "https://www.quandl.com/api/v3/databases/ZEA/data?api_key=tEsTkEy123456789"
|
96
89
|
```
|
97
90
|
|
98
|
-
To bulk download all
|
91
|
+
To bulk download all dataset data of a database:
|
99
92
|
|
100
93
|
```ruby
|
101
94
|
Quandl::ApiConfig.api_key = 'tEsTkEy123456789'
|
102
95
|
Quandl::Database.get('ZEA').bulk_download_to_file('/path/to/destination/file_or_folder')
|
103
96
|
```
|
104
97
|
|
98
|
+
The file or folder path can either be specified as a string or as a [File](http://ruby-doc.org/core-2.2.0/File.html).
|
99
|
+
|
105
100
|
For bulk download of premium databases, please ensure that a valid `api_key` is set, as authentication is required.
|
106
101
|
|
107
|
-
For both `bulk_download_url` and `bulk_download_to_file`, an optional `download_type` parameter can be passed in:
|
102
|
+
For both `bulk_download_url` and `bulk_download_to_file`, an optional `download_type` query parameter can be passed in:
|
108
103
|
|
109
104
|
```ruby
|
110
|
-
Quandl::Database.get('ZEA').bulk_download_to_file('.', download_type: 'partial')
|
105
|
+
Quandl::Database.get('ZEA').bulk_download_to_file('.', params: {download_type: 'partial'})
|
111
106
|
```
|
112
107
|
|
113
108
|
If `download_type` is not specified, a `complete` bulk download will be performed. Please see the [API Documentation](https://www.quandl.com/docs/api) for more detail.
|
@@ -125,7 +120,7 @@ database.data_fields
|
|
125
120
|
=> ["id", "name", "database_code", "description", "datasets_count", "downloads", "premium", "image"]
|
126
121
|
```
|
127
122
|
|
128
|
-
You can then uses these methods in your code. Additionally you can access the data by using the hash
|
123
|
+
You can then uses these methods in your code. Additionally you can access the data by using the hash equivalent lookup.
|
129
124
|
|
130
125
|
```ruby
|
131
126
|
database = Quandl::Database.get('WIKI')
|
@@ -187,10 +182,6 @@ databases = Quandl::Database.all.to_csv
|
|
187
182
|
=> "Id,Name,Database Code,Description,Datasets Count,Downloads,Premium,Image,Bundle Ids,Plan ...
|
188
183
|
```
|
189
184
|
|
190
|
-
## Questions/Comments
|
191
|
-
|
192
|
-
For any questions, comments or inquires about this package please open a ticket on the github repo or email the development team at <dev@quandl.com>. For any questions about data provided by the API please email connect@quandl.com
|
193
|
-
|
194
185
|
## Additional Links
|
195
186
|
|
196
187
|
* [Quandl](https://www.quandl.com)
|
@@ -200,4 +191,3 @@ For any questions, comments or inquires about this package please open a ticket
|
|
200
191
|
## License
|
201
192
|
|
202
193
|
[MIT License](http://opensource.org/licenses/MIT)
|
203
|
-
|
data/lib/quandl/api_config.rb
CHANGED
@@ -1,32 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Quandl
|
2
4
|
class ApiConfig
|
3
5
|
API_KEY_THREAD_KEY = 'quandl_api_key'
|
4
6
|
API_BASE_THREAD_KEY = 'quandl_api_base'
|
5
7
|
API_VERSION_THREAD_KEY = 'quandl_api_version_key'
|
6
8
|
|
9
|
+
@api_key = nil
|
10
|
+
@api_base = nil
|
11
|
+
@api_version = nil
|
12
|
+
|
7
13
|
class << self
|
8
14
|
def api_key=(api_key)
|
15
|
+
@api_key ||= api_key
|
9
16
|
Thread.current[API_KEY_THREAD_KEY] = api_key
|
10
17
|
end
|
11
18
|
|
12
19
|
def api_key
|
13
|
-
Thread.current[API_KEY_THREAD_KEY]
|
20
|
+
Thread.current[API_KEY_THREAD_KEY] || @api_key
|
14
21
|
end
|
15
22
|
|
16
23
|
def api_base=(api_base)
|
24
|
+
@api_base ||= api_base
|
17
25
|
Thread.current[API_BASE_THREAD_KEY] = api_base
|
18
26
|
end
|
19
27
|
|
20
28
|
def api_base
|
21
|
-
Thread.current[API_BASE_THREAD_KEY] || 'https://www.quandl.com/api/v3'
|
29
|
+
Thread.current[API_BASE_THREAD_KEY] || @api_base || 'https://www.quandl.com/api/v3'
|
22
30
|
end
|
23
31
|
|
24
32
|
def api_version=(api_version)
|
33
|
+
@api_version ||= api_version
|
25
34
|
Thread.current[API_VERSION_THREAD_KEY] = api_version
|
26
35
|
end
|
27
36
|
|
28
37
|
def api_version
|
29
|
-
Thread.current[API_VERSION_THREAD_KEY]
|
38
|
+
Thread.current[API_VERSION_THREAD_KEY] || @api_version
|
39
|
+
end
|
40
|
+
|
41
|
+
def reset
|
42
|
+
@api_key = nil
|
43
|
+
@api_base = nil
|
44
|
+
@api_version = nil
|
30
45
|
end
|
31
46
|
end
|
32
47
|
end
|
data/lib/quandl/connection.rb
CHANGED
@@ -46,29 +46,29 @@ module Quandl
|
|
46
46
|
|
47
47
|
case code_letter
|
48
48
|
when 'L'
|
49
|
-
|
50
|
-
resp.headers, code)
|
51
|
-
when 'M'
|
52
|
-
fail InternalServerError.new(message, resp.code, resp.body, error_body,
|
49
|
+
raise LimitExceededError.new(message, resp.code, resp.body, error_body,
|
53
50
|
resp.headers, code)
|
51
|
+
when 'M'
|
52
|
+
raise InternalServerError.new(message, resp.code, resp.body, error_body,
|
53
|
+
resp.headers, code)
|
54
54
|
when 'A'
|
55
|
-
|
56
|
-
|
55
|
+
raise AuthenticationError.new(message, resp.code, resp.body, error_body,
|
56
|
+
resp.headers, code)
|
57
57
|
when 'P'
|
58
|
-
|
59
|
-
|
58
|
+
raise ForbiddenError.new(message, resp.code, resp.body, error_body,
|
59
|
+
resp.headers, code)
|
60
60
|
when 'S'
|
61
|
-
|
62
|
-
|
61
|
+
raise InvalidRequestError.new(message, resp.code, resp.body, error_body,
|
62
|
+
resp.headers, code)
|
63
63
|
when 'C'
|
64
|
-
|
65
|
-
|
64
|
+
raise NotFoundError.new(message, resp.code, resp.body, error_body,
|
65
|
+
resp.headers, code)
|
66
66
|
when 'X'
|
67
|
-
|
68
|
-
|
67
|
+
raise ServiceUnavailableError.new(message, resp.code, resp.body,
|
68
|
+
error_body, resp.headers, code)
|
69
69
|
else
|
70
|
-
|
71
|
-
|
70
|
+
raise QuandlError.new(message, resp.code, resp.body, error_body,
|
71
|
+
resp.headers, code)
|
72
72
|
end
|
73
73
|
end
|
74
74
|
end
|
data/lib/quandl/model/base.rb
CHANGED
@@ -25,6 +25,7 @@ module Quandl
|
|
25
25
|
def method_missing(method_name, *args, &block)
|
26
26
|
return @raw_data[method_name.to_s] if @raw_data.key?(method_name.to_s)
|
27
27
|
return @raw_data.method(method_name.to_s).call(*args, &block) if @raw_data.respond_to?(method_name.to_s)
|
28
|
+
|
28
29
|
super
|
29
30
|
end
|
30
31
|
end
|
data/lib/quandl/model/data.rb
CHANGED
@@ -3,6 +3,11 @@ module Quandl
|
|
3
3
|
include Quandl::Operations::List
|
4
4
|
|
5
5
|
def self.create_list_from_response(_response, data)
|
6
|
+
if !data['dataset_data']['data'].empty? &&
|
7
|
+
data['dataset_data']['column_names'].length != data['dataset_data']['data'].first.length
|
8
|
+
raise InvalidDataError.new('number of column names does not match number of data points in a row!',
|
9
|
+
nil, nil, data)
|
10
|
+
end
|
6
11
|
values = data['dataset_data'].delete('data')
|
7
12
|
metadata = data['dataset_data']
|
8
13
|
Quandl::List.new(self, values, metadata)
|
@@ -26,6 +31,7 @@ module Quandl
|
|
26
31
|
|
27
32
|
def method_missing(method_name, *args, &block)
|
28
33
|
return @meta[method_name.to_s] if @meta.key?(method_name.to_s)
|
34
|
+
|
29
35
|
super
|
30
36
|
end
|
31
37
|
end
|
@@ -8,31 +8,37 @@ module Quandl
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def bulk_download_url(options = {})
|
11
|
-
options.assert_valid_keys(:
|
11
|
+
options.assert_valid_keys(:params)
|
12
12
|
|
13
|
-
url =
|
14
|
-
url = Quandl::ApiConfig.api_base + '/' + url
|
13
|
+
url = bulk_download_path
|
14
|
+
url = Quandl::ApiConfig.api_base + '/' + url
|
15
15
|
url = Quandl::Util.constructed_path(url, id: database_code)
|
16
16
|
|
17
|
-
params = {}
|
18
|
-
params['download_type'] = options[:download_type] if options[:download_type]
|
17
|
+
params = options[:params] || {}
|
19
18
|
params['api_key'] = Quandl::ApiConfig.api_key if Quandl::ApiConfig.api_key
|
19
|
+
params['api_version'] = Quandl::ApiConfig.api_version if Quandl::ApiConfig.api_version
|
20
20
|
|
21
21
|
url += '?' + params.to_query if params.any?
|
22
22
|
url
|
23
23
|
end
|
24
24
|
|
25
|
+
def bulk_download_path
|
26
|
+
path = self.class.default_path + '/data'
|
27
|
+
path = Quandl::Util.constructed_path(path, id: database_code)
|
28
|
+
path
|
29
|
+
end
|
30
|
+
|
25
31
|
def bulk_download_to_file(file_or_folder_path, options = {})
|
26
|
-
|
32
|
+
raise(QuandlError, 'You must specific a file handle or folder to write to.') if file_or_folder_path.blank?
|
27
33
|
|
28
34
|
# Retrieve the location of the bulk download url
|
29
|
-
|
30
|
-
download_url = Quandl::Connection.request(:get,
|
35
|
+
path = bulk_download_path
|
36
|
+
download_url = Quandl::Connection.request(:get, path, options) do |response, _request, _result, &_block|
|
31
37
|
if response.code == 302
|
32
38
|
response.headers[:location]
|
33
39
|
else
|
34
|
-
Quandl::Connection.handle_api_error(response) if response
|
35
|
-
|
40
|
+
Quandl::Connection.handle_api_error(response) if response&.body
|
41
|
+
raise(QuandlError, 'Unexpected result when fetching bulk download URI.')
|
36
42
|
end
|
37
43
|
end
|
38
44
|
uri = URI.parse(download_url)
|
@@ -40,7 +46,7 @@ module Quandl
|
|
40
46
|
# Check that we can write to the directory
|
41
47
|
file = file_or_folder_path
|
42
48
|
unless file_or_folder_path.is_a?(File)
|
43
|
-
file_or_folder_path = Pathname.new(file_or_folder_path.to_s).join(File.basename(uri.path))
|
49
|
+
file_or_folder_path = Pathname.new(file_or_folder_path.to_s).join(File.basename(uri.path)) if File.directory?(file_or_folder_path)
|
44
50
|
file = File.open(file_or_folder_path, 'wb')
|
45
51
|
end
|
46
52
|
|
data/lib/quandl/model/dataset.rb
CHANGED
@@ -3,11 +3,11 @@ module Quandl
|
|
3
3
|
include Quandl::Operations::Get
|
4
4
|
include Quandl::Operations::List
|
5
5
|
|
6
|
-
# rubocop:disable
|
6
|
+
# rubocop:disable Naming/AccessorMethodName
|
7
7
|
def self.get_path
|
8
8
|
default_path + '/metadata'
|
9
9
|
end
|
10
|
-
# rubocop:enable
|
10
|
+
# rubocop:enable Naming/AccessorMethodName
|
11
11
|
|
12
12
|
def database
|
13
13
|
Quandl::Database.get(database_code)
|
data/lib/quandl/model/list.rb
CHANGED
@@ -10,7 +10,8 @@ module Quandl
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def more_results?
|
13
|
-
|
13
|
+
raise(QuandlError, "#{@klass} does not support pagination yet") if !@meta.key?('total_pages') && !@meta.key?('current_page')
|
14
|
+
|
14
15
|
@meta['total_pages'] > @meta['current_page']
|
15
16
|
end
|
16
17
|
|
@@ -19,7 +20,7 @@ module Quandl
|
|
19
20
|
end
|
20
21
|
|
21
22
|
def to_csv
|
22
|
-
|
23
|
+
raise(QuandlError, 'No values to export') if @values.empty?
|
23
24
|
|
24
25
|
CSV.generate do |csv|
|
25
26
|
csv << @values.first.column_names
|
@@ -39,6 +40,7 @@ module Quandl
|
|
39
40
|
return @meta[method_name.to_s] if @meta.key?(method_name.to_s)
|
40
41
|
return @meta[*args] if method_name.to_s == '[]' && @meta.key?(args[0].to_s)
|
41
42
|
return @values.method(method_name).call(*args, &block) if @values.respond_to?(method_name)
|
43
|
+
|
42
44
|
super
|
43
45
|
end
|
44
46
|
end
|
@@ -10,11 +10,11 @@ module Quandl
|
|
10
10
|
new(response_data[lookup_key.singularize])
|
11
11
|
end
|
12
12
|
|
13
|
-
# rubocop:disable
|
13
|
+
# rubocop:disable Naming/AccessorMethodName
|
14
14
|
def get_path
|
15
15
|
default_path
|
16
16
|
end
|
17
|
-
# rubocop:enable
|
17
|
+
# rubocop:enable Naming/AccessorMethodName
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
data/lib/quandl/util.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Quandl
|
2
2
|
class Util
|
3
3
|
def self.methodize(string)
|
4
|
-
string.
|
4
|
+
string.delete('.').parameterize.tr('-', '_')
|
5
5
|
end
|
6
6
|
|
7
7
|
def self.convert_to_dates(hash)
|
8
8
|
return hash unless hash.is_a?(Hash)
|
9
|
+
|
9
10
|
hash.update(hash) do |_k, v|
|
10
11
|
if v.is_a?(String) && v =~ /^\d{4}-\d{2}-\d{2}$/ # Date
|
11
12
|
Date.parse(v)
|
data/lib/quandl/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quandl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clement Leung
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-07-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -17,70 +17,56 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 5.2.4.3
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rest-client
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 1.8.0
|
35
|
-
type: :runtime
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 1.8.0
|
27
|
+
version: 5.2.4.3
|
42
28
|
- !ruby/object:Gem::Dependency
|
43
29
|
name: json
|
44
30
|
requirement: !ruby/object:Gem::Requirement
|
45
31
|
requirements:
|
46
32
|
- - "~>"
|
47
33
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
34
|
+
version: 2.3.0
|
49
35
|
type: :runtime
|
50
36
|
prerelease: false
|
51
37
|
version_requirements: !ruby/object:Gem::Requirement
|
52
38
|
requirements:
|
53
39
|
- - "~>"
|
54
40
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
41
|
+
version: 2.3.0
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
43
|
+
name: rest-client
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
59
45
|
requirements:
|
60
46
|
- - "~>"
|
61
47
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
63
|
-
type: :
|
48
|
+
version: 2.0.2
|
49
|
+
type: :runtime
|
64
50
|
prerelease: false
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
67
53
|
- - "~>"
|
68
54
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
55
|
+
version: 2.0.2
|
70
56
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
57
|
+
name: factory_girl
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
73
59
|
requirements:
|
74
60
|
- - "~>"
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
62
|
+
version: 4.5.0
|
77
63
|
type: :development
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
67
|
- - "~>"
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
69
|
+
version: 4.5.0
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: rspec
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,61 +82,33 @@ dependencies:
|
|
96
82
|
- !ruby/object:Gem::Version
|
97
83
|
version: '0'
|
98
84
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
85
|
+
name: rubocop
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
101
87
|
requirements:
|
102
|
-
- - "
|
88
|
+
- - ">="
|
103
89
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
90
|
+
version: '0'
|
105
91
|
type: :development
|
106
92
|
prerelease: false
|
107
93
|
version_requirements: !ruby/object:Gem::Requirement
|
108
94
|
requirements:
|
109
|
-
- - "
|
95
|
+
- - ">="
|
110
96
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
97
|
+
version: '0'
|
112
98
|
- !ruby/object:Gem::Dependency
|
113
99
|
name: webmock
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
115
101
|
requirements:
|
116
102
|
- - "~>"
|
117
103
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
104
|
+
version: 3.0.1
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
108
|
requirements:
|
123
109
|
- - "~>"
|
124
110
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: factory_girl
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - "~>"
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 4.5.0
|
133
|
-
type: :development
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - "~>"
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: 4.5.0
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: rubocopter
|
142
|
-
requirement: !ruby/object:Gem::Requirement
|
143
|
-
requirements:
|
144
|
-
- - ">="
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '0'
|
147
|
-
type: :development
|
148
|
-
prerelease: false
|
149
|
-
version_requirements: !ruby/object:Gem::Requirement
|
150
|
-
requirements:
|
151
|
-
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: '0'
|
111
|
+
version: 3.0.1
|
154
112
|
description: A ruby implementation of the quandl client to be used as an ORM for quandl's
|
155
113
|
restful APIs.
|
156
114
|
email:
|
@@ -193,10 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
151
|
- !ruby/object:Gem::Version
|
194
152
|
version: '0'
|
195
153
|
requirements: []
|
196
|
-
|
197
|
-
rubygems_version: 2.4.5
|
154
|
+
rubygems_version: 3.0.6
|
198
155
|
signing_key:
|
199
156
|
specification_version: 4
|
200
157
|
summary: An ORM interface into the quandl api.
|
201
158
|
test_files: []
|
202
|
-
has_rdoc:
|