The ammeter gem makes it easy to write specs for Rails generators. An existing user is rspec-rails, which uses ammeter to spec its own generators.
Promise is a Ruby implementation of the Promises/A+ specification. It provides 100% mutation coverage, tested on MRI 1.9, 2.0, 2.1, 2.2, Rubinius, and JRuby.
MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.
This library provides methods to encode and decode Ascii85 binary-to-text encoding. The main modern use of Ascii85 is in PostScript and Portable Document Format (PDF) file formats.
Markaby allows writing HTML packages in pure Ruby. This is similar to the functionality provided by ERB, but without the mixture of HTML and additional ERB syntax.
Net::SSH is a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.
Launchy is helper class for launching applications in a fire and forget manner. The aim of Launchy is to provide a common approach to launching external applications from within Ruby programs.
Fivemat is a MiniTest/RSpec/Cucumber formatter that gives each test file its own line of dots during testing. It aims to provide test output that is neither too verbose nor too minimal.
Gettext is a GNU gettext-like program for Ruby. The catalog file (po-file) used is the same as that used by GNU gettext, allowing you to use GNU gettext tools for maintenance.
This package is a Ruby parser library for Gemtext (hypertext format which is intended to serve as the native response format of the Gemini file transfer protocol) and produces a document object of various nodes.
The mapping gem maps model objects based on their class to a given output model. It is useful for versioning external interfaces (e.g. JSON APIs) or processing structured data from one format to another.
Timecop provides "time travel" and "time freezing" capabilities, making it easier to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
hiredis-rb is a Ruby extension that wraps hiredis, a minimalist C client for Redis. Both the synchronous connection API and a separate protocol reader are supported. It is primarily intended to speed up parsing multi bulk replies.
Systemu can be used on any platform to return status, stdout, and stderr of any command. Unlike other methods like open3 and popen4 there is no danger of full pipes or threading issues hanging your process or subprocess.
Samovar is a modern framework for building command-line tools and applications. It provides a declarative class-based DSL for building command-line parsers that include automatic documentation generation. It helps you keep your functionality clean and isolated where possible.
This package adds custom processing for warnings for Ruby, including the ability to ignore specific warning messages, ignore warnings in specific files/directories, include backtraces with warnings, treat warnings as errors, deduplicate warnings, and add custom handling for all warnings in specific files/directories.
This class implements the File Transfer Protocol. If you have used a command-line FTP program, and are familiar with the commands, you will be able to use this class easily. Some extra features are included to take advantage of Ruby's style and strengths.
Seed Fu is an attempt to once and for all solve the problem of inserting and maintaining seed data in a database. It uses a variety of techniques gathered from various places around the web and combines them to create what is hopefully the most robust seed data system around.
Pry Doc is a Pry REPL plugin. It provides extended documentation support for the REPL by means of improving the show-doc and show-source commands. With help of the plugin the commands are be able to display the source code and the docs of Ruby methods and classes implemented in C.
unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between unicorn and slow clients.
This gem provides beautiful console logging for Ruby applications. It implements fast, buffered log output and has the following features:
Thread safe global logger with per-fiber context
Carry along context with nested loggers
Enable/disable log levels per class
Detailed logging of exceptions
Beautiful logging to the terminal or structured logging using JSON.
The Hashery is a tight collection of Hash-like classes. Included are the auto-sorting Dictionary class, the efficient LRUHash, the flexible OpenHash and the convenient KeyHash. Nearly every class is a subclass of the CRUDHash which defines a CRUD (Create, Read, Update and Delete) model on top of Ruby's standard Hash making it possible to subclass and augment to fit any specific use case.
Covered uses modern Ruby features to generate comprehensive coverage, including support for templates which are compiled into Ruby. It has the following features:
Incremental coverage -- if you run your full test suite, and the run a subset, it will still report the correct coverage - so you can incrementally work on improving coverage.
Integration with RSpec, Minitest, Travis & Coveralls - no need to configure anything - out of the box support for these platforms.
It supports coverage of views -- templates compiled to Ruby code can be tracked for coverage reporting.
Ruby bindings for LZ4. LZ4 is a very fast lossless compression algorithm.