rbbt-util 5.17.43 → 5.17.44

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: 07109a9c34d01c741b7d550de080d87cf28f40ea
4
- data.tar.gz: c9d2484d8009620f89182520325d9e391939f6cd
3
+ metadata.gz: d1611ca04d7763d056195c336284ad3f6fbd325a
4
+ data.tar.gz: 54faf03af65f34c0dacb980cbbe16d5651e4046d
5
5
  SHA512:
6
- metadata.gz: cbe6b76dde5bc3efae6216ccc460e23825fd4ec1a932fb8db1d256151492df02edbc1792d0fa64340712d04af5c2d4e1c9a9dcf0be9f97b3e6663cd0836fa196
7
- data.tar.gz: 999911ac50fa6ed050222d86b00d5a795b77686ba565536e1a19ca7aaab1258376a3f9510bbcfb5807cd38089d0b6bb805183550efa580bb9662d10783c300e8
6
+ metadata.gz: 6a4aa49d73e3aa4635035b4d6fb9057efd2021682d3e78f4d3f2d1b9e9bdf86fc2fa2e2c410f11fc107e2e9057be78d9212a32d4bea3f7ae348c04e99fa64ff9
7
+ data.tar.gz: 5fc7d1e9c24789539e02df1d618c50f09dbb4c724107f368d7d18145be56c3db8f467c2cea57f5dc752cd80bc2be497a6bca61cc9f86ec9c140bac58176d29e4
data/bin/rbbt CHANGED
@@ -195,6 +195,9 @@ begin
195
195
  load dir[$command].find
196
196
  exit 0
197
197
  end
198
+ when File.exists?($command)
199
+ load $command
200
+ exit 0
198
201
  else
199
202
  error = "Command '#{$command }' not understood"
200
203
  rbbt_usage($previous_commands)
@@ -262,19 +262,21 @@ module TSV
262
262
  else
263
263
  case type
264
264
  when :double
265
- new_key_field_name, new_field_names = through new_key_field, new_fields, uniq, zipped do |key, value|
266
- if data[key]
267
- current = data[key].dup
268
- value.each_with_index do |v, i|
269
- if current[i]
270
- current[i] += v if v
271
- else
272
- current[i] = v || []
265
+ new_key_field_name, new_field_names = through new_key_field, new_fields, uniq, zipped do |keys, value|
266
+ keys.each do |key|
267
+ if data[key]
268
+ current = data[key].dup
269
+ value.each_with_index do |v, i|
270
+ if current[i]
271
+ current[i] += v if v
272
+ else
273
+ current[i] = v || []
274
+ end
273
275
  end
276
+ data[key] = current
277
+ else
278
+ data[key] = value.collect{|v| v.nil? ? nil : v.dup}
274
279
  end
275
- data[key] = current
276
- else
277
- data[key] = value.collect{|v| v.nil? ? nil : v.dup}
278
280
  end
279
281
  end
280
282
  when :flat
@@ -3,12 +3,40 @@
3
3
  require 'rbbt-util'
4
4
  require 'rbbt/util/simpleopt'
5
5
 
6
+ $0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands
6
7
 
7
- file = ARGV.shift
8
- identifiers = ARGV.shift
9
- format = ARGV.shift
8
+ options = SOPT.setup <<EOF
10
9
 
11
- file = STDIN if file == '-'
10
+ Description
12
11
 
13
- puts TSV.open(file).attach identifiers, :fields => [format]
12
+ $ rbbt tsv attach <file1> <file2> [<file3> ...] [options]
14
13
 
14
+ Use - to read from STDIN
15
+
16
+ -f--fields* Fields to attach (all if not specified)
17
+ -h--help Print this help
18
+
19
+ EOF
20
+ if options[:help]
21
+ if defined? rbbt_usage
22
+ rbbt_usage
23
+ else
24
+ puts SOPT.usage
25
+ end
26
+ exit 0
27
+ end
28
+
29
+ file1, *rest = ARGV
30
+ fields = options[:fields]
31
+
32
+ fields = fields ? fields.split(/[,|]/).collect{|f| f.strip} : nil
33
+
34
+ tsv = TSV.open(file1)
35
+
36
+ rest.each do |file2|
37
+ file_fields = TSV.parse_header(file2).all_fields - tsv.all_fields
38
+ these_fields = fields ? fields & file_fields : nil
39
+ tsv = tsv.attach file2, :fields => these_fields
40
+ end
41
+
42
+ puts tsv.to_s
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.17.43
4
+ version: 5.17.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-08 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake