No commit activity in last 3 years
No release in over 3 years
run-length encode/decode stuff
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 10.0
~> 3.0
 Project Readme

run_length_encoder

run-length encode/decode stuff

Installation

gem 'run_length_encoder'

Usage

require 'run_length_encoder'

# Basic usage
# (see `RunLengthEncoder::Instance#initialize` for supported options)
rle = RunLengthEncoder.new
rle.encode("0000111010")
=> "4:0;3:1;1:0;1:1;1:0"

rle.decode("4:0;3:1;1:0;1:1;1:0")
=> "0000111010"

# You can use built-in configurations
rle = RunLengthEncoder.for_integer_array
rle.encode([0, 0, 0, 0, 1, 1, 1, 0, 1, 0])
=> "4:0;3:1;1:0;1:1;1:0"

rle.decode("4:0;3:1;1:0;1:1;1:0")
=> [0, 0, 0, 0, 1, 1, 1, 0, 1, 0]

# encode/decode are aliased to dump/load for integration with ActiveRecord::Serialization