lib/rbbt/tsv/index.rb in rbbt-util-5.2.4 vs lib/rbbt/tsv/index.rb in rbbt-util-5.3.0
- old
+ new
@@ -83,26 +83,35 @@
end
values.unshift key
values.uniq.each do |value|
- case
- when index_type == :double
+ case index_type
+ when :double
if not new.include? value
new[value] = [[key]]
else
current = new[value]
current[0] << key
new[value] = current
end
+ when :flat
+ if not new.include? value
+ new[value] = [key]
+ else
+ current = new[value]
+ current << key
+ new[value] = current
+ end
+
else
new[value] = key unless new.include? value
end
end
end
end
- TSV.setup(new, :serializer => index_type, :type => index_type, :filename => filename, :fields => [new_key_field], :key_field => new_fields * ", ")
+ TSV.setup(new, :type => index_type, :filename => filename, :fields => [new_key_field], :key_field => new_fields * ", ")
end
end
end
def self.index(file, options = {})