quandl_client 2.3.1 → 2.3.2
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/UPGRADE.md +7 -0
- data/examples/create.rb +1 -11
- data/lib/quandl/client/base/model.rb +27 -0
- data/lib/quandl/client/base.rb +2 -0
- data/lib/quandl/client/version.rb +1 -1
- data/spec/lib/quandl/client/dataset/persistence_spec.rb +31 -17
- 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: 1cbfcdc4f840923e85b3dce389da7ab5757292e7
|
4
|
+
data.tar.gz: 4c6beabf2a4649dfa4c1c0a59576b74a4b0822f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73f5b8521d90663b8f2321c389471260255a9164c1ffa9c7f8145554a8f796101d2c9b7c63f7d4bda7ec5840f52198c75e7a1fce0efd45d5e3367b3dbc900f2e
|
7
|
+
data.tar.gz: 2c31963ac71365a060f5e7bb29e4489cecd834f5b15ee81a4d35afbdbfff65bc5ece3914ab40e6ec4579b32c477ef391c7863098245b804c9cb228fc824ef7c6
|
data/UPGRADE.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# 2.3.2
|
2
|
+
|
3
|
+
* add #elapsed_request_time_ms
|
4
|
+
* refactor save_time to request_time. Add specs to #destroy for request_started_at, finished_at, elapsed_request_time
|
5
|
+
* add Client::Base#save_started_at, #save_finished_at, #elapsed_save_time. before_save :touch_save_started_at, after_save :touch_save_finished_at
|
6
|
+
|
7
|
+
|
1
8
|
## 2.3.1
|
2
9
|
|
3
10
|
* bump quandl_data
|
data/examples/create.rb
CHANGED
@@ -9,16 +9,6 @@ include Quandl::Client
|
|
9
9
|
|
10
10
|
Quandl::Client.use ENV['QUANDL_API_HOST']
|
11
11
|
Quandl::Client.token = ENV['QUANDL_USER_TOKEN']
|
12
|
-
|
13
|
-
# create dataset
|
14
|
-
d = Dataset.new
|
15
|
-
d.code = "TEST_#{SecureRandom.hex[0..10]}".upcase
|
16
|
-
d.name = 'Blake Test Dataset'
|
17
|
-
d.save
|
18
|
-
|
19
|
-
# update dataset's data
|
20
|
-
new_data = Quandl::Fabricate::Data.rand( rows: 10, columns: 2, nils: false ).to_date.to_csv
|
21
|
-
d.data = new_data
|
22
|
-
d.save
|
12
|
+
# Quandl::Client.use 'http://quandl.com/api/'
|
23
13
|
|
24
14
|
binding.pry
|
@@ -8,6 +8,33 @@ module Model
|
|
8
8
|
include Her::Model
|
9
9
|
use_api Quandl::Client::Base.her_api
|
10
10
|
|
11
|
+
before_save :touch_request_started_at
|
12
|
+
after_save :touch_request_finished_at
|
13
|
+
|
14
|
+
before_destroy :touch_request_started_at
|
15
|
+
after_destroy :touch_request_finished_at
|
16
|
+
|
17
|
+
attr_accessor :request_started_at, :request_finished_at
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def elapsed_request_time_ms
|
22
|
+
elapsed_request_time.to_f.microseconds.to_s + 'ms'
|
23
|
+
end
|
24
|
+
|
25
|
+
def elapsed_request_time
|
26
|
+
return nil unless request_finished_at.is_a?(Time) && request_started_at.is_a?(Time)
|
27
|
+
@elapsed_request_time ||= (request_finished_at - request_started_at)
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def touch_request_started_at
|
33
|
+
self.request_started_at = Time.now
|
34
|
+
end
|
35
|
+
|
36
|
+
def touch_request_finished_at
|
37
|
+
self.request_finished_at = Time.now
|
11
38
|
end
|
12
39
|
|
13
40
|
end
|
data/lib/quandl/client/base.rb
CHANGED
@@ -7,6 +7,10 @@ describe Dataset do
|
|
7
7
|
its(:saved?){ should be_false }
|
8
8
|
its(:valid?){ should be_true }
|
9
9
|
end
|
10
|
+
|
11
|
+
its(:request_started_at){ should be_nil }
|
12
|
+
its(:request_finished_at){ should be_nil }
|
13
|
+
its(:elapsed_request_time){ should be_nil }
|
10
14
|
|
11
15
|
context "when created" do
|
12
16
|
context "without token" do
|
@@ -17,7 +21,11 @@ describe Dataset do
|
|
17
21
|
|
18
22
|
its(:saved?){ should be_false }
|
19
23
|
its(:status){ should eq 401 }
|
20
|
-
|
24
|
+
|
25
|
+
its(:request_started_at){ should be_a Time }
|
26
|
+
its(:request_finished_at){ should be_a Time }
|
27
|
+
its(:elapsed_request_time){ should be > 0 }
|
28
|
+
|
21
29
|
after(:all){ Quandl::Client.token = ENV['QUANDL_AUTH_TOKEN'] }
|
22
30
|
end
|
23
31
|
context "with token" do
|
@@ -65,29 +73,35 @@ describe Dataset do
|
|
65
73
|
|
66
74
|
end
|
67
75
|
|
68
|
-
context "
|
76
|
+
context "#destroy" do
|
69
77
|
|
70
78
|
let(:dataset){ create(:dataset, private: false ) }
|
79
|
+
before(:each){ dataset.destroy }
|
80
|
+
subject{ dataset }
|
71
81
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
82
|
+
its(:status){ should eq 200 }
|
83
|
+
|
84
|
+
its(:request_started_at){ should be_a Time }
|
85
|
+
its(:request_finished_at){ should be_a Time }
|
86
|
+
its(:elapsed_request_time){ should be > 0 }
|
76
87
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
id = dataset.id
|
81
|
-
# behave as a user
|
82
|
-
Quandl::Client.token = ENV['QUANDL_USER_TOKEN']
|
83
|
-
user_dataset = Dataset.find(id)
|
84
|
-
user_dataset.destroy
|
85
|
-
user_dataset.status.should eq 403
|
86
|
-
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context "#destroy when user" do
|
87
91
|
|
88
|
-
|
92
|
+
let(:dataset){ create(:dataset, private: false ) }
|
89
93
|
|
94
|
+
it "should not delete the dataset with a user token" do
|
95
|
+
id = dataset.id
|
96
|
+
# behave as a user
|
97
|
+
Quandl::Client.token = ENV['QUANDL_USER_TOKEN']
|
98
|
+
user_dataset = Dataset.find(id)
|
99
|
+
user_dataset.destroy
|
100
|
+
user_dataset.status.should eq 403
|
90
101
|
end
|
102
|
+
|
103
|
+
after(:all){ Quandl::Client.token = ENV['QUANDL_AUTH_TOKEN'] }
|
104
|
+
|
91
105
|
end
|
92
106
|
|
93
107
|
end
|
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.3.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blake Hilscher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|