Project

snappy

0.35
There's a lot of open issues
A long-lived project that still receives updates
libsnappy binding for Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

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

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request