Sha256: 7d54e2a7290df05b7eee1ea58e4b1aa45b5e14d2598d919d9a3a454a36198520
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
module TSV class IntegerSerializer def self.dump(i); [i].pack("l"); end def self.load(str); str.unpack("l").first; end end class FloatSerializer def self.dump(i); [i].pack("d"); end def self.load(str); str.unpack("d").first; end end class IntegerArraySerializer def self.dump(a); a.pack("l*"); end def self.load(str); str.unpack("l*"); end end class StringSerializer def self.dump(str); str.to_s; end def self.load(str); str; end end class StringArraySerializer def self.dump(array) array.collect{|a| a.to_s} * "\t" end def self.load(string) return [] if string.nil? string.split("\t", -1) end end class StringDoubleArraySerializer def self.dump(array) array.collect{|a| a.collect{|a| a.to_s} * "|"} * "\t" end def self.load(string) return [] if string.nil? string.split("\t", -1).collect{|l| l.split("|", -1)} end end class TSVMarshalSerializer def self.dump(tsv) Marshal.dump(tsv.dup) end def self.load(string) TSV.setup Marshal.load(string) end end class TSVSerializer def self.dump(tsv) tsv.to_s end def self.load(string) TSV.open StringIO.new(string) end end SERIALIZER_ALIAS = { :integer => IntegerSerializer, :float => FloatSerializer, :integer_array => IntegerArraySerializer, :marshal => Marshal, :single => StringSerializer, :string => StringSerializer, :list => StringArraySerializer, :flat => StringArraySerializer, :double => StringDoubleArraySerializer, :tsv => TSVSerializer, :marshal_tsv => TSVMarshalSerializer } end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbbt-util-4.0.2 | lib/rbbt/tsv/serializers.rb |
rbbt-util-4.0.1 | lib/rbbt/tsv/serializers.rb |
rbbt-util-4.0.0 | lib/rbbt/tsv/serializers.rb |