quandl_data 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94ac5c5c76af7dbfef791ad7aacf52abfea27db2
4
- data.tar.gz: 5edaf32984dd620b88f44a3cfb8a7ee04c649e9f
3
+ metadata.gz: fa65494367e714daf18edb29fb3fc3e216c265a9
4
+ data.tar.gz: 4def3b647bd730baefd225c93a4468810629ba94
5
5
  SHA512:
6
- metadata.gz: c149657dabceec4bb7864aafc533bf77482d171625a5290f3788073665994b6a0c42850aa2a72c4dc6bdfc18c0b8bc0ffe40041e328b2bcb30fcdf679874eaaf
7
- data.tar.gz: c505d9aa00e19436832d2521a12bfed8fdc6447e9de495ec35394e3babefa3709d66c92e17b14d378f156a369696be54ee597f7b31b30816b78e797d409fa71c
6
+ metadata.gz: 7b597c31ad9d69bbdd77452e762aeec79f51706f283b3d267d5f7abd7d797d62f4b7747dcb5938e8d40ed6957a29eaaa1cd93f3878d71a26f9c679b47b5662a1
7
+ data.tar.gz: ab90dcb57829b15f69b798c947b770e10fcf56e836f3a8eba8defbc603dd9d7171560d12ebd9fe7e3d7da6c0bfb552249a734f7d4b1b201340470ca42f292da8
data/Gemfile CHANGED
@@ -5,5 +5,6 @@ use_local_gems = ENV['BUNDLE_LOCAL_GEMS'] == "true" && ENV['BUNDLE_LOCAL_DIR']
5
5
  local_gem_dir = ENV['BUNDLE_LOCAL_DIR']
6
6
 
7
7
  if use_local_gems
8
+ gem 'quandl_babelfish', path: "#{local_gem_dir}/quandl/babelfish"
8
9
  gem 'quandl_operation', path: "#{local_gem_dir}/quandl/operation"
9
10
  end
data/UPGRADE.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.3.2
2
+
3
+ * readd quandl_babelfish as a dependency
4
+ * Add Quandl::Babelfish::Data
5
+
6
+
1
7
  ## 1.3.1
2
8
 
3
9
  * add .with_type to Data
@@ -0,0 +1,37 @@
1
+ module Quandl
2
+ module Babelfish
3
+
4
+ class Data < Quandl::Data
5
+
6
+ def initialize(*args)
7
+ super(*args)
8
+ # clean data on initialize
9
+ self.data_array
10
+ end
11
+
12
+
13
+ protected
14
+
15
+ def clean(data)
16
+ # skip cleaning if already clean
17
+ return data if data.kind_of?(Array) && cleaned?
18
+ # Quandl::Data is already clean, but to avoid errors extract internal array
19
+ return data.data_array if data.kind_of?(Quandl::Data)
20
+ # Return empty array if given empty string, nil, etc.
21
+ return [] if data.blank?
22
+ # Hash needs conversion to array
23
+ data = Quandl::Data::Format.hash_to_array( data )
24
+ # String needs conversion to array
25
+ data = Quandl::Data::Format.csv_to_array( data )
26
+ # Babelfish cleaner
27
+ data, self.headers = Quandl::Babelfish.clean(data)
28
+ # mark data as clean
29
+ cleaned!
30
+ # return data
31
+ data
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
data/lib/quandl/data.rb CHANGED
@@ -7,6 +7,9 @@ require "active_support/core_ext/object"
7
7
 
8
8
  require "quandl/operation"
9
9
 
10
+ require 'quandl/babelfish'
11
+ require 'quandl/babelfish/data'
12
+
10
13
  require 'quandl/error/unknown_date_format'
11
14
 
12
15
  require 'quandl/data/attributes'
@@ -1,5 +1,5 @@
1
1
  module Quandl
2
2
  class Data
3
- VERSION = "1.3.1"
3
+ VERSION = "1.3.2"
4
4
  end
5
5
  end
data/quandl_data.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.require_paths = ["lib"]
19
19
 
20
20
  s.add_runtime_dependency "quandl_operation", "~> 0.3.1"
21
+ s.add_runtime_dependency "quandl_babelfish", "~> 0.0"
21
22
 
22
23
  s.add_development_dependency "rake", "~> 10.0"
23
24
  s.add_development_dependency "rspec", "~> 2.13"
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Quandl::Babelfish::Data do
4
+
5
+ let(:csv) { "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" }
6
+
7
+ let(:data){ Quandl::Babelfish::Data.new(csv) }
8
+ subject{ data }
9
+
10
+ let(:expected_data){ [['2012-03-07',nil,69.75,69.75,69.75,0.0,0.0,0.0],['2012-03-06',69.75,69.75,69.75,69.75,0.0,0.0,0.0],['2012-03-05',69.75,69.75,69.75,69.75,0.0,0.0,0.0],['2012-03-04',69.75,69.75,69.75,69.75,0.0,0.0,0.0],['2012-02-29',nil,69.75,69.75,69.75,0.0,0.0,0.0],['2012-02-28',69.75,69.75,69.75,69.75,0.0,0.0,0.0]] }
11
+ let(:expected_headers){ ['Date', 'Column 1', 'Column 2', 'C3', 'C4', 'C5', 'C6', 'C7'] }
12
+
13
+ its(:headers){ should eq expected_headers }
14
+ its('clone.headers'){ should eq expected_headers }
15
+ its('to_jd.headers'){ should eq expected_headers }
16
+
17
+ its(:to_date_str){ should eq expected_data }
18
+
19
+ 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.3.1
4
+ version: 1.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-08 00:00:00.000000000 Z
11
+ date: 2013-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: quandl_operation
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.3.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: quandl_babelfish
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '0.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '0.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +153,7 @@ files:
139
153
  - README.md
140
154
  - Rakefile
141
155
  - UPGRADE.md
156
+ - lib/quandl/babelfish/data.rb
142
157
  - lib/quandl/data.rb
143
158
  - lib/quandl/data/attributes.rb
144
159
  - lib/quandl/data/cleaning.rb
@@ -152,6 +167,7 @@ files:
152
167
  - lib/quandl/fabricate/data.rb
153
168
  - quandl_data.gemspec
154
169
  - spec/lib/fabricate/data_spec.rb
170
+ - spec/lib/quandl/babelfish/data_spec.rb
155
171
  - spec/lib/quandl/data/enumerator_spec.rb
156
172
  - spec/lib/quandl/data/format_spec.rb
157
173
  - spec/lib/quandl/data/operations_spec.rb
@@ -183,6 +199,7 @@ specification_version: 4
183
199
  summary: For interfacing with data
184
200
  test_files:
185
201
  - spec/lib/fabricate/data_spec.rb
202
+ - spec/lib/quandl/babelfish/data_spec.rb
186
203
  - spec/lib/quandl/data/enumerator_spec.rb
187
204
  - spec/lib/quandl/data/format_spec.rb
188
205
  - spec/lib/quandl/data/operations_spec.rb