rbbt-util 5.14.2 → 5.14.3

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: e22611b53d0c2a89c0e2a3b21317d44247bd015d
4
- data.tar.gz: c75e90adddd0e88805458e51bdd28a4b46143b90
3
+ metadata.gz: 0861b4fc08580d2d67c2359eb41ba10d8f98fc54
4
+ data.tar.gz: 20f541a44866d348ebbde761c95b66acec879f5f
5
5
  SHA512:
6
- metadata.gz: 02abe6b04eb5877e7be78d8742e861cb21df05694e7e467a12076ca2cb3b9e772f1f30f1f6a9bb21843e6f4e301618c561a6813b3b2fc147530819ea03657c4d
7
- data.tar.gz: cba9bdf10dd98e2e8ea022984ca4c74282a74c780431034cd738c48941d5174d0fdae3faeaf47f3a3dcddef09490ec386351f069b944e06cc4a4702967b8408a
6
+ metadata.gz: 3ca34de7e7851c59df081c5ca65647341a4688f597c79e14ca2b5ec19d742defbdb0dcf9200eaa48a937b670a5384ac1584e5cf6826414d947a86913c21ec115
7
+ data.tar.gz: 7815dd4a71975589f9d849950d2e0b4053cce9a65a798b98bf74184a3b9135906194bc752a72b3174d40ab221304dc2a43a5c7cf9f7d4f289b8c57bb4baf39d1
@@ -479,7 +479,8 @@ module TSV
479
479
  def self.traverse(obj, options = {}, &block)
480
480
  into = options[:into]
481
481
 
482
- if into == :stream
482
+ case into
483
+ when :stream
483
484
  sout = Misc.open_pipe false, false do |sin|
484
485
  begin
485
486
  traverse(obj, options.merge(:into => sin), &block)
@@ -489,6 +490,12 @@ module TSV
489
490
  end
490
491
  end
491
492
  return sout
493
+ when :dumper
494
+ obj_options = obj.respond_to?(:options) ? obj.options : {}
495
+ dumper = TSV::Dumper.new obj_options.merge(options)
496
+ dumper.init
497
+ traverse(obj, obj_options.merge(:into => dumper), &block)
498
+ return dumper
492
499
  end
493
500
 
494
501
  threads = Misc.process_options options, :threads
@@ -363,6 +363,7 @@ module TSV
363
363
  def initialize(stream = nil, options = {})
364
364
  @header_hash = Misc.process_options(options, :header_hash) || "#"
365
365
  @sep = Misc.process_options(options, :sep) || "\t"
366
+ stream = TSV.get_stream stream
366
367
  @stream = stream
367
368
 
368
369
 
@@ -31,10 +31,12 @@ module TSV
31
31
  stream.get_stream || stream.join.path.open
32
32
  when Path
33
33
  stream.open
34
+ when TSV::Dumper
35
+ stream.stream
34
36
  else
35
37
  stream
36
38
  end
37
- end
39
+ end.compact
38
40
 
39
41
  num_streams = streams.length
40
42
 
@@ -54,13 +56,15 @@ module TSV
54
56
 
55
57
  streams = streams.collect do |stream|
56
58
  parser = TSV::Parser.new stream, options
57
- lines << parser.first_line
58
- empty << stream if parser.first_line.nil?
59
- key_fields << parser.key_field
60
- fields << parser.fields
61
- sizes << parser.fields.length if parser.fields
59
+
60
+ lines << parser.first_line
61
+ empty << stream if parser.first_line.nil?
62
+ key_fields << parser.key_field
63
+ fields << parser.fields
64
+ sizes << parser.fields.length if parser.fields
62
65
  input_options << parser.options
63
- preambles << parser.preamble if TrueClass === preamble and not parser.preamble.empty?
66
+ preambles << parser.preamble if TrueClass === preamble and
67
+ not parser.preamble.empty?
64
68
 
65
69
  parser.stream
66
70
  end
@@ -136,7 +140,7 @@ module TSV
136
140
  retry
137
141
  end
138
142
  else
139
- if sizes[i] > 0
143
+ if sizes[i] and sizes[i] > 0
140
144
  p = sep * (sizes[i]-1)
141
145
  str << p
142
146
  end
@@ -177,13 +181,13 @@ module TSV
177
181
  end
178
182
 
179
183
  def self.stream_flat2double(stream, options = {})
180
- parser = TSV::Parser.new stream
184
+ parser = TSV::Parser.new TSV.get_stream(stream)
181
185
  dumper_options = parser.options.merge(options).merge(:type => :double)
182
186
  dumper = TSV::Dumper.new dumper_options
183
187
  dumper.init
184
188
  TSV.traverse parser, :into => dumper do |key,values|
185
189
  [key, [values]]
186
190
  end
187
- dumper.stream
191
+ dumper
188
192
  end
189
193
  end
@@ -193,7 +193,7 @@ row2 a|aa|aaa
193
193
  s1 = StringIO.new text1
194
194
  s2 = TSV.stream_flat2double(s1, :sep => " ")
195
195
 
196
- assert_equal text2, s2.read
196
+ assert_equal text2, s2.stream.read
197
197
  end
198
198
 
199
199
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.14.2
4
+ version: 5.14.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-22 00:00:00.000000000 Z
11
+ date: 2014-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake