see https://github.com/google/snappy
Preparation
macOS
$ brew install snappy
$ brew install autoconf automake cmake libtool
# This step may be needed if gem installation fails
bundle config build.snappy --with-snappy-dir=/opt/homebrew/opt/snappyUbuntu
$ 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