tapsoob 0.3.25 → 0.3.26
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tapsoob/data_stream.rb +27 -0
- data/lib/tapsoob/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59b4084ddb364d71b2409a23fdd8604b3ef46d5dac7a96518fdb664e8f743943
|
4
|
+
data.tar.gz: 4d72e5bae7bd8fe4acf116c81c1a139e5fdde4d7bbd5731bf25f896b71a00a90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9ca0470b23447547e1967588c1230ed3a2f6f141d5d9b3f14854bdeb155329d604082895dd344a27a69540cbe9ac6e3b630e46ae61bb3e23467cc5194011948
|
7
|
+
data.tar.gz: ab7f6656768aa0e078a921530e25f8da5498504d9c5e4abd90175acaeeba4540393b6905021b40187ab9070c479d9fc2db1f88c10a82aa283ac7488c25778e7d
|
data/lib/tapsoob/data_stream.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
+
require 'date'
|
3
|
+
require 'time'
|
4
|
+
|
2
5
|
require 'tapsoob/log'
|
3
6
|
require 'tapsoob/utils'
|
4
7
|
|
@@ -232,6 +235,30 @@ module Tapsoob
|
|
232
235
|
end
|
233
236
|
end
|
234
237
|
|
238
|
+
# Parse date/datetime/time columns
|
239
|
+
if rows.has_key?(:types)
|
240
|
+
%w(date datetime time).each do |type|
|
241
|
+
if rows[:types].include?(type)
|
242
|
+
klass = case type
|
243
|
+
when "date"
|
244
|
+
Date
|
245
|
+
when "datetime"
|
246
|
+
DateTime
|
247
|
+
when "time"
|
248
|
+
Time
|
249
|
+
end
|
250
|
+
|
251
|
+
|
252
|
+
type_indices = rows[:types].each_index.select { |idx| rows[:types][idx] == type }
|
253
|
+
rows[:data].each_index do |idx|
|
254
|
+
type_indices.each do |ti|
|
255
|
+
rows[:data][idx][ti] = klass.parse(rows[:data][idx][ti])
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
235
262
|
# Remove id column
|
236
263
|
if @options[:"discard-identity"]
|
237
264
|
columns = rows[:header] - ["id"]
|
data/lib/tapsoob/version.rb
CHANGED