quandl_operation 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/quandl/operation/parse.rb +16 -1
- data/lib/quandl/operation/transform.rb +1 -0
- data/lib/quandl/operation/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e89e08ff1940b2194533fe1d0f0a7a03f46b9c92
|
4
|
+
data.tar.gz: dfe19700498fba23c32aef762056a119a1cf5d82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b23ff8da2b7aaf4257c055c2cfaa5c6c761f716f8fd62c8dcc0010ef9eb8faaef2012ae9de6d357dc4b0a80bb6a399035fe40b25ac9333a6b754f5bcde9dda0f
|
7
|
+
data.tar.gz: 41d60de79f17b6474c09254c56a9d1cdd137a1ffb2c3f8d9c56bf4378e5cb73ae645c77118c543eb5622dcdeaa132412d647d2e848128c42507dabbd3e6cae97
|
@@ -19,9 +19,10 @@ class Parse
|
|
19
19
|
|
20
20
|
def csv(data)
|
21
21
|
data = CSV.parse( data ) if data.is_a?(String)
|
22
|
+
data = values_to_float(data)
|
22
23
|
data
|
23
24
|
end
|
24
|
-
|
25
|
+
|
25
26
|
def sort(data, order = :asc)
|
26
27
|
data_order = sort_order?(data)
|
27
28
|
# ascending
|
@@ -90,6 +91,20 @@ class Parse
|
|
90
91
|
# otherwise cast string jds to int
|
91
92
|
data.collect{|r| r[0] = r[0].to_i; r }
|
92
93
|
end
|
94
|
+
|
95
|
+
def values_to_float(data)
|
96
|
+
# skip unless value is a string
|
97
|
+
return data unless data[0][1].is_a?(String)
|
98
|
+
# cast values to float
|
99
|
+
data.collect do |row|
|
100
|
+
new_row = [row[0]]
|
101
|
+
row[1..-1].each_with_index do |value, index|
|
102
|
+
value = value.to_f if value.is_a?(String)
|
103
|
+
new_row[index + 1] = value
|
104
|
+
end
|
105
|
+
new_row
|
106
|
+
end
|
107
|
+
end
|
93
108
|
|
94
109
|
end
|
95
110
|
|