We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 36ba2f7 commit d0f1cafCopy full SHA for d0f1caf
lib/kafka/compression.rb
@@ -4,12 +4,16 @@
4
5
module Kafka
6
module Compression
7
+ def self.codecs
8
+ [:snappy, :gzip, :lz4]
9
+ end
10
+
11
def self.find_codec(name)
12
case name
13
when nil then nil
14
when :snappy then SnappyCodec.new
15
when :gzip then GzipCodec.new
- when :lz4 then LZ4Codec.new
16
+ when :lz4 then LZ4Codec.new
17
else raise "Unknown compression codec #{name}"
18
end
19
spec/compression_spec.rb
@@ -0,0 +1,12 @@
1
+describe Kafka::Compression do
2
+ Kafka::Compression.codecs.each do |codec_name|
3
+ describe codec_name.to_s do
+ it "encodes and decodes data" do
+ data = "yolo"
+ codec = Kafka::Compression.find_codec(codec_name)
+ expect(codec.decompress(codec.compress(data))).to eq data
+end
0 commit comments