quandl_data 1.1.4 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 958d50ad8ae3e144a7f548f1aeff3c84b4c72ed7
4
- data.tar.gz: 31971a6c8c2e5210ab4d38fd6b814bfa35873ca2
3
+ metadata.gz: 531239319943ec14302a42ec95e37051f12245b1
4
+ data.tar.gz: c39862a0af85567a8ebf362d72e788ad4985ef7b
5
5
  SHA512:
6
- metadata.gz: d6f754ea7490cfc6e3b87f76cd4856013dd5fd949091fc0b01c31df2f7b6d867187946b477a88ad1432416ff8b4ef5f0ae59caa4b009b04454631ca02104ec03
7
- data.tar.gz: 14dbbdee2823d8bd95eeb8eac7351e8925acfa3d166cc3f102cf943dbe9191079c61a8ac74c52719359dc5c0a58b4e5fd7d552d3bf9e550c62c1552db82d7c34
6
+ metadata.gz: 9a15374a806251b64c00a543bffc1fbcc4c097f6e2276a547c04f628e0f02bd223a89507a16d5c191f454b53c240fec1fff79bc9e8f68967b14ef98013aa7675
7
+ data.tar.gz: 6607ba39d562621fa5df10156142724669bfa72574260eb2bbf038ebd5db448764b3045300f07cf47618605c79c18cd1f8bd24dee94a0b67aaee48bdd7706b1e
data/.gitignore CHANGED
@@ -3,4 +3,5 @@
3
3
  /tmp
4
4
  *.gem
5
5
  *.log
6
- coverage/*
6
+ coverage/*
7
+ .rvmrc
data/Gemfile CHANGED
@@ -1,2 +1,9 @@
1
1
  source "https://rubygems.org"
2
2
  gemspec
3
+
4
+ use_local_gems = ENV['BUNDLE_LOCAL_GEMS'] == "true" && ENV['BUNDLE_LOCAL_DIR']
5
+ local_gem_dir = ENV['BUNDLE_LOCAL_DIR']
6
+
7
+ if use_local_gems
8
+ gem 'quandl_operation', path: "#{local_gem_dir}/quandl/operation"
9
+ end
data/UPGRADE.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 1.2.0
2
+
3
+ * bump quandl_operation, data now defaults to return Dates instead of Julian Dates
4
+
5
+
1
6
  ## 1.1.4
2
7
 
3
8
  * force incoming data to_a if it is kind_of Quandl::Data
@@ -42,4 +42,12 @@ module Quandl::Data::Enumerator
42
42
  end
43
43
  end
44
44
 
45
+ protected
46
+
47
+ def parse(data)
48
+ data = data.to_a if data.respond_to?(:to_a) && data.is_a?(Quandl::Data)
49
+ data = Quandl::Operation::Parse.perform( data )
50
+ data
51
+ end
52
+
45
53
  end
@@ -10,10 +10,8 @@ module Quandl::Data::Operations
10
10
  end
11
11
 
12
12
  def operations
13
- [
14
- :to_csv, :to_jd, :to_date, :sort_order, :sort_ascending,
15
- :sort_descending, :transform, :collapse, :frequency, :parse
16
- ]
13
+ [ :to_csv, :to_jd, :to_date, :sort_order, :sort_ascending,
14
+ :sort_descending, :transform, :collapse, :frequency, :parse ]
17
15
  end
18
16
 
19
17
  end
@@ -32,64 +30,38 @@ module Quandl::Data::Operations
32
30
  return ''
33
31
  end
34
32
 
35
- def to_jd
36
- Quandl::Data.new( Parse.date_to_julian( data_array ), frequency: frequency )
37
- end
38
33
  def to_jd!
39
- @data_array = Parse.date_to_julian( data_array )
40
- self
34
+ @data_array = Parse.to_jd( data_array ); self
41
35
  end
42
-
36
+
43
37
  def to_date!
44
- @data_array = to_date.data_array
45
- self
46
- end
47
- def to_date
48
- Quandl::Data.new( Parse.julian_to_date( data_array ) )
38
+ @data_array = Parse.to_date( data_array ); self
49
39
  end
50
40
 
51
- def trim_start!(trim_date)
52
- @data_array = trim_start(trim_date).data_array
53
- self
54
- end
55
- def trim_start(trim_date)
41
+ def trim_start!(date)
56
42
  # date format
57
- trim_date = Date.parse(trim_date) if trim_date.is_a?(String)
58
- trim_date = trim_date.jd if trim_date.respond_to?(:jd)
59
- # find index
60
- return self unless trim_date.is_a?(Integer)
43
+ date = Quandl::Operation::QDate.parse(date)
61
44
  # reject rows with dates less than
62
- data = sort_descending.delete_if do |row|
45
+ @data_array = to_date!.sort_descending!.delete_if do |row|
63
46
  row_date = row[0]
64
- row_date < trim_date
47
+ row_date < date
65
48
  end
66
- Quandl::Data.new(data)
67
- end
68
-
69
- def trim_end!(trim_date)
70
- @data_array = trim_end(trim_date).data_array
71
49
  self
72
50
  end
73
- def trim_end(trim_date)
51
+
52
+ def trim_end!(date)
74
53
  # date format
75
- trim_date = Date.parse(trim_date) if trim_date.is_a?(String)
76
- trim_date = trim_date.jd if trim_date.respond_to?(:jd)
77
- # find index
78
- return self unless trim_date.is_a?(Integer)
54
+ date = Quandl::Operation::QDate.parse(date)
79
55
  # reject rows with dates less than
80
- data = sort_descending.delete_if do |row|
56
+ @data_array = to_date!.sort_descending!.delete_if do |row|
81
57
  row_date = row[0]
82
- row_date > trim_date
58
+ row_date > date
83
59
  end
84
- Quandl::Data.new(data)
60
+ self
85
61
  end
86
62
 
87
63
  def limit!(amount)
88
- @data_array = limit(amount).data_array
89
- self
90
- end
91
- def limit(amount)
92
- Quandl::Data.new( data_array[0..( amount.to_i - 1 )] )
64
+ @data_array = data_array[0..( amount.to_i - 1 )]; self
93
65
  end
94
66
 
95
67
  def sort_order(dir)
@@ -97,19 +69,11 @@ module Quandl::Data::Operations
97
69
  end
98
70
 
99
71
  def sort_ascending!
100
- @data_array = sort_ascending.data_array
101
- self
102
- end
103
- def sort_ascending
104
- Quandl::Data.new( Parse.sort( data_array.dup, :asc ), frequency: frequency )
72
+ @data_array = Parse.sort_asc( data_array ); self
105
73
  end
106
74
 
107
75
  def sort_descending!
108
- @data_array = sort_descending.data_array
109
- self
110
- end
111
- def sort_descending
112
- Quandl::Data.new( Parse.sort( data_array.dup, :desc ), frequency: frequency )
76
+ @data_array = Parse.sort_desc( data_array ); self
113
77
  end
114
78
 
115
79
  def transform(*args)
@@ -139,13 +103,32 @@ module Quandl::Data::Operations
139
103
  @frequency ||= Collapse.frequency?( data_array )
140
104
  end
141
105
  def frequency=(value)
142
- @frequency = value.to_sym
106
+ @frequency = value.to_sym if value.present?
143
107
  end
144
108
 
145
- def parse(data)
146
- data = data.to_a if data.respond_to?(:to_a) && data.is_a?(Quandl::Data)
147
- data = Parse.perform( data )
148
- data
109
+ def clone
110
+ Quandl::Data.new( data_array.dup )
149
111
  end
150
112
 
113
+ def to_jd
114
+ clone.to_jd!
115
+ end
116
+ def to_date
117
+ clone.to_date!
118
+ end
119
+ def trim_start(date)
120
+ clone.trim_start!(date)
121
+ end
122
+ def trim_end(date)
123
+ clone.trim_end!(date)
124
+ end
125
+ def limit(amount)
126
+ clone.limit!(amount)
127
+ end
128
+ def sort_ascending
129
+ clone.sort_ascending!
130
+ end
131
+ def sort_descending
132
+ clone.sort_descending!
133
+ end
151
134
  end
@@ -1,5 +1,5 @@
1
1
  module Quandl
2
2
  class Data
3
- VERSION = "1.1.4"
3
+ VERSION = "1.2.0"
4
4
  end
5
5
  end
@@ -38,7 +38,7 @@ class Data
38
38
  end
39
39
 
40
40
  def date(index)
41
- (Date.today - ( index * ( frequencies[frequency] ) - offset )).jd
41
+ (Date.today - ( index * ( frequencies[frequency] ) - offset ))
42
42
  end
43
43
 
44
44
  def point(row_index, column_index)
data/quandl_data.gemspec CHANGED
@@ -26,5 +26,5 @@ Gem::Specification.new do |s|
26
26
  s.add_development_dependency "guard-rspec"
27
27
 
28
28
  s.add_runtime_dependency "activesupport", ">= 3.0.0"
29
- s.add_runtime_dependency "quandl_operation", "~> 0.1"
29
+ s.add_runtime_dependency "quandl_operation", "~> 0.2"
30
30
  end
@@ -13,7 +13,7 @@ describe Quandl::Fabricate::Data do
13
13
  subject{ data.first }
14
14
  its(:count){ should eq 6 }
15
15
 
16
- its([0]){ should be_a Integer }
16
+ its([0]){ should be_a Date }
17
17
 
18
18
  [1,2,3,4,5].each do |i|
19
19
  its([i]){ should be_a Float }
@@ -24,6 +24,11 @@ describe Quandl::Data::Enumerator do
24
24
  }
25
25
  subject{ Quandl::Data.new(raw.clone) }
26
26
 
27
+ it "subject.to_jd.first.first" do
28
+ # binding.pry if date_format == nil && format == :to_csv
29
+ puts subject.to_jd.first.first
30
+ end
31
+
27
32
  its('to_jd.first.first'){ should be_a Integer }
28
33
  its('to_date.first.first'){ should be_a Date }
29
34
 
@@ -54,12 +54,12 @@ describe Quandl::Data::Operations do
54
54
  subject.transform(:rdiff).first[1].should_not eq value
55
55
  end
56
56
  it "should rdiff_from" do
57
- data = Quandl::Data.new([[1,3,5],[4,5,4],[5,15,20]])
58
- data.transform(:rdiff_from).should eq [[1,4,3],[4,2,4],[5,0,0]]
57
+ data = Quandl::Data.new([[2456624,3,5],[2456625,5,4],[2456626,15,20]])
58
+ data.transform(:rdiff_from).to_jd.should eq [[2456624,4,3],[2456625,2,4],[2456626,0,0]]
59
59
  end
60
60
  it "should cumul" do
61
- data = Quandl::Data.new( [[1000, 10], [1001, 20], [1002, 30]] )
62
- data.transform(:cumul).should eq [[1000, 10], [1001, 30], [1002, 60]]
61
+ data = Quandl::Data.new( [[2456624, 10], [2456625, 20], [2456626, 30]] )
62
+ data.transform(:cumul).to_jd.should eq [[2456624, 10], [2456625, 30], [2456626, 60]]
63
63
  end
64
64
  end
65
65
 
@@ -79,7 +79,7 @@ describe Quandl::Data::Operations do
79
79
 
80
80
  describe "#as_json" do
81
81
  it "should be a representation of data_array" do
82
- subject.as_json.should eq subject.data_array
82
+ subject.as_json.should eq subject.data_array.as_json
83
83
  end
84
84
  end
85
85
 
@@ -137,9 +137,21 @@ describe Quandl::Data::Operations do
137
137
 
138
138
  its(:to_csv){ should be_a String }
139
139
 
140
- it "should output csv that is consistent with subject" do
141
- data = CSV.parse( subject.to_csv ).collect{|r| r.collect{|v| v.to_f } }
142
- data.should eq subject
140
+ it "should output jd csv that is consistent with subject" do
141
+ expected_data = subject.to_jd
142
+ data = CSV.parse( expected_data.to_csv ).collect{|r| r.collect{|v| v.to_f } }
143
+ data.should eq expected_data
144
+ end
145
+
146
+ it "should output date csv that is consistent with subject" do
147
+ expected_data = subject.to_date
148
+ data = CSV.parse( expected_data.to_csv ).collect{|r|
149
+ date = Date.parse(r[0])
150
+ row = r[1..-1].collect{|v| v.to_f }
151
+ row.unshift(date)
152
+ row
153
+ }
154
+ data.should eq expected_data
143
155
  end
144
156
 
145
157
  it "should output csv when initialized with a Quandl::Data" do
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe Quandl::Data do
5
+
6
+ let(:csv1){"2012-12-31,20.0,10.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,27.5,25.0,18.0,33.99,0.0,25.0,0.0,10.0,22.0,34.0,10.0,20.0,26.0,0.0,18.5,25.0,33.0,30.0,20.0,27.5,10.0,19.0,25.0,29.0,23.0,25.0,21.0,30.0,28.0,24.5,33.33,0.0,29.48,10.0,20.0,31.0,0.0,35.0,16.5,19.0,20.0,32.45,25.0,12.5,0.0,25.0,31.4,33.33,38.01,0.0,14.0,20.0,30.0,24.2,15.0,15.0,20.0,12.5,15.0,28.8,12.0,10.0,30.0,25.0,35.0,15.0,30.0,9.0,32.0,34.0,25.0,28.0,30.0,28.0,12.0,35.0,25.0,30.0,10.0,30.0,30.0,19.0,25.0,10.0,16.0,20.0,0.0,27.0,20.0,10.0,17.0,19.0,18.0,34.55,30.0,28.0,0.0,34.5,35.0,26.3,21.17,28.0,17.0,30.0,23.0,25.0,30.0,20.0,30.0,21.0,55.0,24.0,40.0,25.0,0.0,34.0,25.0,20.0,35.0,25.75,29.02,33.0,22.89,20.5,28.3,28.6,22.6,25.25,24.43\n2011-12-31,20.0,10.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,27.5,25.0,24.0,33.99,0.0,0.0,0.0,10.0,22.0,34.0,10.0,20.0,28.0,0.0,20.0,25.0,33.0,30.0,20.0,34.5,10.0,19.0,25.0,29.0,24.0,20.0,21.0,0.0,28.0,26.0,33.33,0.0,29.37,10.0,20.0,31.0,0.0,35.0,16.5,19.0,20.0,32.44,25.0,12.5,0.0,24.0,31.4,33.33,40.69,0.0,14.0,20.0,0.0,22.0,15.0,15.0,20.0,12.5,15.0,28.8,12.0,10.0,0.0,25.0,35.0,15.0,30.0,9.0,32.0,34.0,25.0,28.0,30.0,28.0,12.0,35.0,25.0,30.0,10.0,30.0,30.0,19.0,25.0,10.0,16.0,20.0,0.0,27.0,20.0,10.0,17.0,19.0,20.0,34.55,30.0,28.0,0.0,34.5,35.0,26.3,21.17,28.0,17.0,30.0,30.0,0.0,30.0,20.0,30.0,25.0,55.0,26.0,40.0,25.0,0.0,34.0,25.0,20.0,35.0,25.75,28.55,34.0,23.1,20.88,29.02,28.6,22.8,25.5,24.52\n2010-12-31,20.0,10.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,27.5,25.0,24.0,33.99,0.0,25.0,0.0,10.0,25.0,34.0,10.0,20.0,31.0,0.0,17.0,25.0,33.0,30.0,20.0,0.0,10.0,19.0,25.0,25.0,25.0,20.0,21.0,0.0,28.0,26.0,33.33,0.0,29.41,22.0,24.0,31.0,0.0,25.0,16.5,19.0,18.0,33.99,25.0,12.5,0.0,25.0,31.4,33.33,40.69,0.0,14.0,20.0,0.0,24.2,15.0,15.0,40.0,0.0,15.0,28.59,12.0,10.0,0.0,25.0,35.0,15.0,30.0,9.0,32.0,0.0,25.5,30.0,30.0,28.0,12.0,35.0,27.5,30.0,10.0,30.0,30.0,19.0,25.0,10.0,16.0,20.0,0.0,27.0,20.0,10.0,17.0,19.0,20.0,34.55,30.0,35.0,0.0,0.0,15.0,26.3,21.17,28.0,17.0,30.0,30.0,0.0,30.0,20.0,30.0,25.0,55.0,28.0,40.0,25.0,0.0,34.0,25.0,35.0,35.0,25.75,28.38,35.5,23.96,21.52,27.52,29.0,23.04,25.79,24.71\n2009-12-31,20.0,10.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,27.5,25.0,24.0,33.99,0.0,0.0,0.0,10.0,25.0,34.0,10.0,0.0,33.0,0.0,17.0,25.0,33.0,30.0,20.0,0.0,10.0,20.0,25.0,25.0,25.0,20.0,21.0,0.0,29.0,26.0,33.33,0.0,29.44,27.0,25.0,31.0,0.0,30.0,16.5,16.0,15.0,33.99,28.0,12.5,0.0,26.0,31.4,33.33,40.69,0.0,25.0,20.0,0.0,24.2,15.0,15.0,40.0,0.0,20.0,28.59,12.0,10.0,0.0,25.0,35.0,15.0,28.0,9.0,32.0,0.0,25.5,30.0,30.0,28.0,12.0,35.0,30.0,30.0,10.0,30.0,30.0,19.0,25.0,35.0,16.0,20.0,0.0,27.0,20.0,10.0,18.0,19.0,21.0,34.55,30.0,35.0,0.0,0.0,15.0,26.3,21.17,28.0,25.0,30.0,30.0,0.0,30.0,20.0,30.0,25.0,55.0,28.0,40.0,25.0,0.0,34.0,25.0,35.0,35.0,30.9,28.75,36.5,25.73,21.7,27.96,29.2,23.22,25.73,25.4\n2008-12-31,20.0,10.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,30.0,25.0,24.0,33.99,0.0,0.0,0.0,10.0,25.0,34.0,10.0,0.0,33.5,0.0,17.0,25.0,33.0,30.0,20.0,0.0,10.0,21.0,25.0,25.0,25.0,20.0,21.0,0.0,31.0,26.0,33.33,0.0,29.51,33.0,25.0,31.0,0.0,30.0,16.5,16.0,15.0,33.99,30.0,12.5,0.0,27.0,31.4,33.33,40.69,0.0,25.0,30.0,0.0,27.5,55.0,15.0,40.0,0.0,15.0,29.63,12.0,10.0,0.0,26.0,35.0,15.0,28.0,9.0,32.0,0.0,25.5,30.0,30.0,28.0,12.0,35.0,30.0,30.0,10.0,30.0,35.0,19.0,25.0,35.0,16.0,24.0,0.0,27.0,20.0,10.0,18.0,19.0,22.0,34.55,30.0,35.0,0.0,0.0,15.0,28.0,21.17,28.0,25.0,0.0,30.0,0.0,30.0,20.0,30.0,25.0,55.0,30.0,40.0,25.0,0.0,34.0,28.0,35.0,35.0,30.9,28.65,36.75,27.99,22.0,27.96,29.6,23.29,26.08,26.12\n2007-12-31,20.0,20.0,35.0,35.0,20.0,28.0,30.0,25.0,0.0,0.0,30.0,25.0,24.0,33.99,0.0,0.0,0.0,10.0,25.0,34.0,10.0,0.0,36.1,0.0,17.0,33.0,34.0,30.0,20.0,0.0,10.0,24.0,25.0,25.0,25.0,20.0,22.0,0.0,31.0,26.0,33.33,0.0,38.36,35.0,25.0,31.0,0.0,30.0,17.5,16.0,18.0,33.99,30.0,12.5,0.0,29.0,37.25,33.33,40.69,0.0,25.0,30.0,0.0,27.5,55.0,15.0,40.0,0.0,15.0,29.63,12.0,12.0,0.0,27.0,35.0,22.5,28.0,9.0,32.0,0.0,25.5,33.0,30.0,28.0,12.0,35.0,30.0,30.0,10.0,30.0,35.0,19.0,25.0,35.0,16.0,24.0,0.0,27.0,20.0,10.0,20.0,19.0,23.0,36.89,32.5,35.0,0.0,0.0,30.0,28.0,21.32,28.0,25.0,0.0,30.0,0.0,30.0,20.0,30.0,25.0,55.0,30.0,40.0,30.0,0.0,34.0,28.0,35.0,35.0,30.9,30.56,38.05,28.46,23.01,28.3,30.2,24.11,27.08,26.96\n"}
7
+ let(:csv2) { "2012-03-07,,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-06,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-05,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-04,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-02-29,,69.75,69.75,69.75,0.0,0.0,0.0\n2012-02-28,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n" }
8
+ let(:csv3) { "Date, Column 1, Column 2, C3, C4, C5, C6, C7\n 2012-03-07,,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-06,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-05,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-03-04,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n2012-02-29,,69.75,69.75,69.75,0.0,0.0,0.0\n2012-02-28,69.75,69.75,69.75,69.75,0.0,0.0,0.0\n" }
9
+
10
+ let(:data){ Quandl::Data.new(csv2) }
11
+ subject{ data }
12
+
13
+ describe "#clone" do
14
+ subject{ data.clone }
15
+ it{ should be_a Quandl::Data }
16
+ it "should not alter original data" do
17
+ subject.collapse(:annual).to_a.should_not eq data.to_a
18
+ end
19
+ end
20
+
21
+ context "csv" do
22
+ [:csv1, :csv2].each do |csv|
23
+
24
+ let(:data){ Quandl::Data.new( self.send(csv) ) }
25
+ subject{ data }
26
+
27
+ it "should have Float data" do
28
+ data.to_h.each do |date, values|
29
+ values.each do |value|
30
+ next if value.nil?
31
+ value.should be_a Float
32
+ end
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ it "csv3 should raise Quandl::Operation::Errors::UnknownDateFormat" do
39
+ expect { Quandl::Data.new( csv3 ).to_jd }.to raise_error Quandl::Operation::Errors::UnknownDateFormat
40
+ end
41
+ end
42
+
43
+ [:to_jd, :sort_ascending, :sort_descending].each do |o1|
44
+ its("to_jd.#{o1}!"){ should_not eq subject }
45
+ its("#{o1}!"){ should eq subject }
46
+ end
47
+
48
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quandl_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.2.0
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-11-20 00:00:00.000000000 Z
11
+ date: 2013-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: '0.1'
131
+ version: '0.2'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ~>
137
137
  - !ruby/object:Gem::Version
138
- version: '0.1'
138
+ version: '0.2'
139
139
  description: Data will be interfaced
140
140
  email:
141
141
  - blake@hilscher.ca
@@ -164,6 +164,7 @@ files:
164
164
  - spec/lib/fabricate/data_spec.rb
165
165
  - spec/lib/quandl/data/enumerator_spec.rb
166
166
  - spec/lib/quandl/data/operations_spec.rb
167
+ - spec/lib/quandl/data_spec.rb
167
168
  - spec/spec_helper.rb
168
169
  homepage: http://blake.hilscher.ca/
169
170
  licenses:
@@ -193,4 +194,5 @@ test_files:
193
194
  - spec/lib/fabricate/data_spec.rb
194
195
  - spec/lib/quandl/data/enumerator_spec.rb
195
196
  - spec/lib/quandl/data/operations_spec.rb
197
+ - spec/lib/quandl/data_spec.rb
196
198
  - spec/spec_helper.rb