rbbt-util 5.8.1 → 5.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/association.rb +5 -4
- data/lib/rbbt/tsv/attach/util.rb +1 -0
- data/lib/rbbt/tsv/change_id.rb +6 -3
- 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: 242874c88c6d442034c3e929a735f9d8b5613f53
|
4
|
+
data.tar.gz: e7b40e285fbc4faf3961fdda643c9278eba21096
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 022e09717e9f321571373dcd56e3f1a589fdcf37d731a9db885535964e59f1209c6071017d7efe15a60cdc309538c675d2db9dbf9baae21564c1fc7e071ae13a
|
7
|
+
data.tar.gz: 244ad59bc44e11e54a015efd5ac17f69c496b35051807118ac9b931fb08a3196d47a6030966007dca9d4402e4be6738cbc1f19fd484f8c3a4daa66372bf191fc
|
data/lib/rbbt/association.rb
CHANGED
@@ -78,12 +78,11 @@ module Association
|
|
78
78
|
:persist => false,
|
79
79
|
:key_field => all_fields.index(source),
|
80
80
|
:fields => fields.collect{|f| String === f ? all_fields.index(f): f },
|
81
|
-
:type => options[:type].
|
81
|
+
:type => (options[:type] and options[:type].to_sym == :flat) ? :flat : :double,
|
82
82
|
:unnamed => true,
|
83
|
-
:merge => options[:type].
|
83
|
+
:merge => (options[:type] and options[:type].to_sym == :flat) ? false : true
|
84
84
|
})
|
85
85
|
|
86
|
-
# Preserve first line, which would have been considered a header otherwise
|
87
86
|
open_options["header_hash"] = "#" if options["header_hash"] == ""
|
88
87
|
|
89
88
|
field_headers = all_fields.values_at *open_options[:fields]
|
@@ -129,6 +128,7 @@ module Association
|
|
129
128
|
end
|
130
129
|
end
|
131
130
|
|
131
|
+
|
132
132
|
# Translate target
|
133
133
|
if target_final_format and target_field != target_final_format and
|
134
134
|
Entity.formats[target_field] and
|
@@ -140,11 +140,12 @@ module Association
|
|
140
140
|
tsv.key_field = "MASKED"
|
141
141
|
|
142
142
|
tsv.with_unnamed do
|
143
|
-
tsv = tsv.swap_id tsv.fields.first, target_final_format, :identifiers => Organism.identifiers(tsv.namespace), :persist => true
|
143
|
+
tsv = tsv.swap_id tsv.fields.first, target_final_format, :identifiers => Organism.identifiers(tsv.namespace), :persist => true, :compact => true
|
144
144
|
end
|
145
145
|
|
146
146
|
tsv.key_field = save_key_field
|
147
147
|
end
|
148
|
+
|
148
149
|
tsv
|
149
150
|
end
|
150
151
|
|
data/lib/rbbt/tsv/attach/util.rb
CHANGED
data/lib/rbbt/tsv/change_id.rb
CHANGED
@@ -17,6 +17,7 @@ module TSV
|
|
17
17
|
else
|
18
18
|
tsv = tsv.attach identifiers, :fields => [format], :persist_input => true
|
19
19
|
end
|
20
|
+
|
20
21
|
tsv = tsv.reorder(format, tsv.fields - [format])
|
21
22
|
|
22
23
|
tsv = tsv.to_flat if orig_type == :flat
|
@@ -35,9 +36,9 @@ module TSV
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def self.swap_id(tsv, field, format, options = {}, &block)
|
38
|
-
options = Misc.add_defaults options, :persist => false, :identifiers => tsv.identifiers
|
39
|
+
options = Misc.add_defaults options, :persist => false, :identifiers => tsv.identifiers, :compact => true
|
39
40
|
|
40
|
-
identifiers, persist_input = Misc.process_options options, :identifiers, :persist
|
41
|
+
identifiers, persist_input, compact = Misc.process_options options, :identifiers, :persist, :compact
|
41
42
|
|
42
43
|
fields = identifiers.all_fields.include?(field)? [field] : nil
|
43
44
|
index = identifiers.index :target => format, :fields => fields, :persist => persist_input
|
@@ -54,7 +55,9 @@ module TSV
|
|
54
55
|
end
|
55
56
|
else
|
56
57
|
tsv.through do |k,v|
|
57
|
-
|
58
|
+
_values = index.values_at(*v[pos])
|
59
|
+
_values.compact! if compact
|
60
|
+
v[pos] = _values
|
58
61
|
tsv[k] = v
|
59
62
|
end
|
60
63
|
end
|