quandl_client 2.6.0 → 2.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +14 -7
- data/Rakefile +2 -2
- data/UPGRADE.md +7 -0
- data/VERSION +1 -1
- data/lib/quandl/client/base/validation.rb +12 -0
- data/lib/quandl/client/models/dataset.rb +26 -0
- data/spec/lib/quandl/client/scraper_spec.rb +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f3c7b2e6d00eae927b27582c0639e2335f8baaf
|
4
|
+
data.tar.gz: 92fab0d74f709dffc8ee74694ba2508caf0e1122
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4e52c2c6c007ae90725f3dd46bec811e599e446fdfcbdc8598997cf5901c3d5fd8b7161aef6985dab70090a5aa9a5721542c18a7bbdc2f219f29511ea5977bf
|
7
|
+
data.tar.gz: 06d31ce69a4f5d0ce1d24de67bd6269a53acc71bcecd969770e9cf2dbcd89653c0f22043af0088d22ce6b215654e33112ab8417d1cfbbfff2406fc7c95c7765c
|
data/README.md
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# Quandl::Client
|
2
|
+
|
3
|
+
## Purpose
|
4
|
+
|
5
|
+
The purpose of this gem is to interact with the [quandl api](http://www.quandl.com/help/api)
|
6
|
+
|
7
|
+
|
8
|
+
## Installation
|
2
9
|
|
3
10
|
```ruby
|
4
11
|
|
@@ -9,7 +16,7 @@ gem 'quandl_client'
|
|
9
16
|
|
10
17
|
|
11
18
|
|
12
|
-
|
19
|
+
## Configuration
|
13
20
|
|
14
21
|
```ruby
|
15
22
|
|
@@ -24,10 +31,10 @@ Quandl::Client.token = ENV['QUANDL_AUTH_TOKEN']
|
|
24
31
|
|
25
32
|
|
26
33
|
|
27
|
-
|
34
|
+
## Usage
|
28
35
|
|
29
36
|
|
30
|
-
|
37
|
+
### Quandl::Client::Dataset
|
31
38
|
|
32
39
|
|
33
40
|
#### Search
|
@@ -151,7 +158,7 @@ d.error_messages
|
|
151
158
|
|
152
159
|
|
153
160
|
|
154
|
-
|
161
|
+
### Quandl::Client::Source
|
155
162
|
|
156
163
|
|
157
164
|
#### Search
|
@@ -214,7 +221,7 @@ Source.destroy_existing(52352)
|
|
214
221
|
|
215
222
|
|
216
223
|
|
217
|
-
|
224
|
+
### Quandl::Client::Sheet
|
218
225
|
|
219
226
|
|
220
227
|
#### Search
|
@@ -277,7 +284,7 @@ Quandl::Client::Sheet.destroy_existing(15252)
|
|
277
284
|
|
278
285
|
|
279
286
|
|
280
|
-
|
287
|
+
### Authentication
|
281
288
|
|
282
289
|
```ruby
|
283
290
|
|
data/Rakefile
CHANGED
@@ -9,8 +9,8 @@ require "quandl/client"
|
|
9
9
|
|
10
10
|
include Quandl::Client
|
11
11
|
|
12
|
-
Quandl::Client.use ENV['
|
13
|
-
Quandl::Client.token = ENV['
|
12
|
+
Quandl::Client.use ENV['QUANDL_URL']
|
13
|
+
Quandl::Client.token = ENV['QUANDL_AUTH_TOKEN']
|
14
14
|
|
15
15
|
task :default => :spec
|
16
16
|
|
data/UPGRADE.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.6.
|
1
|
+
2.6.1
|
@@ -7,6 +7,18 @@ module Validation
|
|
7
7
|
|
8
8
|
before_save :halt_unless_valid!
|
9
9
|
|
10
|
+
validate :response_errors_should_be_blank!
|
11
|
+
|
12
|
+
def response_errors_should_be_blank!
|
13
|
+
return unless response_errors.respond_to?(:each)
|
14
|
+
response_errors.each do |key, messages|
|
15
|
+
if messages.respond_to?(:each)
|
16
|
+
messages.each{|message| errors.add(key, message) }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
true
|
20
|
+
end
|
21
|
+
|
10
22
|
def valid_with_server?
|
11
23
|
return false unless valid?
|
12
24
|
return false unless errors_params.blank?
|
@@ -47,6 +47,7 @@ class Quandl::Client::Dataset < Quandl::Client::Base
|
|
47
47
|
validates :code, presence: true, format: { with: Quandl::Pattern.code, message: "is invalid. Expected format: #{Quandl::Pattern.code.to_example}" }
|
48
48
|
validates :display_url, allow_blank: true, url: true
|
49
49
|
validate :data_should_be_valid!
|
50
|
+
validate :dataset_data_should_be_valid!
|
50
51
|
validate :data_row_count_should_match_column_count!
|
51
52
|
validate :data_columns_should_not_exceed_column_names!
|
52
53
|
validate :data_rows_should_have_equal_columns!
|
@@ -124,6 +125,10 @@ class Quandl::Client::Dataset < Quandl::Client::Base
|
|
124
125
|
@dataset_data ||= Quandl::Client::Dataset::Data.new( id: id )
|
125
126
|
end
|
126
127
|
|
128
|
+
def dataset_data?
|
129
|
+
@dataset_data.is_a?(Quandl::Client::Dataset::Data)
|
130
|
+
end
|
131
|
+
|
127
132
|
def reload
|
128
133
|
@dataset_data = nil
|
129
134
|
@data_scope = nil
|
@@ -140,6 +145,14 @@ class Quandl::Client::Dataset < Quandl::Client::Base
|
|
140
145
|
true
|
141
146
|
end
|
142
147
|
|
148
|
+
def dataset_data_should_be_valid!
|
149
|
+
if dataset_data? && !dataset_data.valid?
|
150
|
+
dataset_data.errors.each{|k,v| self.errors.add( k,v ) }
|
151
|
+
return false
|
152
|
+
end
|
153
|
+
true
|
154
|
+
end
|
155
|
+
|
143
156
|
def ambiguous_code_requires_source_code!
|
144
157
|
if code.to_s.numeric? && source_code.blank?
|
145
158
|
message = %Q{Pure numerical codes like "#{code}" are not allowed unless you include a source code. Do this:\nsource_code: <USERNAME>\ncode: #{code}}
|
@@ -200,7 +213,20 @@ class Quandl::Client::Dataset < Quandl::Client::Base
|
|
200
213
|
dataset_data.save
|
201
214
|
# update dataset's attributes with dataset_data's attributes
|
202
215
|
attributes.each{|k,v| attributes[k] = dataset_data.attributes[k] if dataset_data.attributes.has_key?(k) }
|
216
|
+
# update dataset errors with dataset_data
|
203
217
|
@metadata[:status] = dataset_data.status unless dataset_data.saved?
|
218
|
+
# inherit_errors(dataset_data) unless dataset_data.saved?
|
219
|
+
end
|
220
|
+
|
221
|
+
def inherit_errors(object)
|
222
|
+
return unless object.respond_to?(:response_errors) && object.response_errors.respond_to?(:each)
|
223
|
+
object.response_errors.each do |key, messages|
|
224
|
+
if messages.respond_to?(:each)
|
225
|
+
messages.each{|message| errors.add(key, message) }
|
226
|
+
end
|
227
|
+
end
|
228
|
+
@metadata[:status] = object.status
|
229
|
+
object
|
204
230
|
end
|
205
231
|
|
206
232
|
def enforce_required_formats
|
@@ -15,7 +15,8 @@ describe Scraper do
|
|
15
15
|
|
16
16
|
context "save" do
|
17
17
|
before(:each){ scraper.save }
|
18
|
-
its(
|
18
|
+
its("error_messages.to_s"){ should match "You must provide one of" }
|
19
|
+
its("error_messages.to_s"){ should match "scraper_url, git_url" }
|
19
20
|
end
|
20
21
|
|
21
22
|
context "scraper= File" do
|
@@ -49,7 +50,7 @@ describe Scraper do
|
|
49
50
|
scraper.git_url = "git@github.com:tammer/scrapers.git"
|
50
51
|
scraper.save
|
51
52
|
}
|
52
|
-
its(
|
53
|
+
its("error_messages.to_s"){ should match %Q{can't be blank} }
|
53
54
|
end
|
54
55
|
|
55
56
|
context "git_url='git@github.com:tammer/scrapers.git' & git_reference='master'" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quandl_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blake Hilscher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: quandl_data
|