Snappy
see https://github.com/google/snappy
Preparation
macOS
$ brew install snappy
$ brew install autoconf automake cmake libtool
Ubuntu
$ apt-get install libsnappy-dev -y
$ apt-get install libtool automake autoconf -y
Alpine
$ apk install snappy
$ apk install build-base libexecinfo automake autoconf libtool
Windows
Ruby Installer 3.0 and earlier:
(in MSYS2 shell)
$ pacman -S mingw-w64-x86_64-snappy
Ruby Installer 3.1 and later:
(in MSYS2 shell)
pacman -S mingw-w64-ucrt-x86_64-snappy
Installation
Add this line to your application's Gemfile:
gem 'snappy'
And then execute:
$ bundle
Or install it yourself as:
$ gem install snappy
Usage
Snappy-java format
require 'snappy'
Snappy.deflate(source)
# => Compressed data
Snappy.inflate(source)
# => Decompressed data
Hadoop-snappy format
Snappy::Hadoop.deflate(source)
# => Compressed data
Snappy::Hadoop.inflate(source)
# => Decompressed data
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request