BibTeX-Ruby is the Rubyist's Swiss Army knife for all things BibTeX. It includes a parser for all common BibTeX objects and a sophisticated name parser that tokenizes correctly formatted names. BibTeX-Ruby recognizes BibTeX string replacements, joins values containing multiple strings or variables, supports cross-references, and decodes common LaTeX formatting instructions to unicode. If you are in a hurry, it also allows for easy export/conversion to formats such as YAML, JSON, CSL, and XML (BibTeXML).
Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)
This package provides a class-level mixin to make managing fiber-local state easy. It provides easy access to a fiber-local state from a fiber, and defaults to a shared thread-local state.
Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.
Rubocop::AST extends ruby-parser
with classes used by RuboCop to deal with Ruby's Abstract Syntax Tree (AST), in particular:
RuboCop::AST::Node
RuboCop::AST::NodePattern
Addressable is a replacement for the URI implementation that is part of Ruby's standard library. It more closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.
domain_name
is a Domain name manipulation library. It parses a domain name ready for extracting the registered domain and TLD (Top Level Domain). It can also be used for cookie domain validation based on the Public Suffix List.
CI::Reporter
is an add-on to Ruby testing frameworks that allows you to generate XML reports of your test runs. The resulting files can be read by a continuous integration system that understands Ant's JUnit report format.
This library provides Ruby with an interface for validating JSON objects against a JSON schema conforming to JSON Schema Draft 4. Legacy support for JSON Schema Draft 3, JSON Schema Draft 2, and JSON Schema Draft 1 is also included.
This package can be used to have the execution stopped for inspection in the Ruby debugger upon encountering a failure. To use it, set the RSPEC_DEBUG
environment variable to true then invoke the rspec
command as usual.
This gem provides the classes LinkHeader
and LinkHeader::Link
, which represent HTTP Link
headers conforming to RFC 5988. Objects can be constructed from and converted to text or a JSON-friendly Array
representation. They can also be used to generate corresponding HTML link
elements.
Oedipus Lex is a lexer generator in the same family as Rexical and Rex. It is based primarily on generating code much like you would a hand-written lexer. It uses StrScanner within a multi-level case statement. As such, Oedipus matches on the first match, not the longest.
Syntax Tree is a suite of tools built on top of the internal CRuby parser. It provides the ability to generate a syntax tree from source, as well as the tools necessary to inspect and manipulate that syntax tree. It can be used to build formatters, linters, language servers, and more.
Text::Hyphen is a Ruby library to hyphenate words in various languages using Ruby-fied versions of TeX hyphenation patterns. It will properly hyphenate various words according to the rules of the language the word is written in. The algorithm is based on that of the TeX typesetting system by Donald E. Knuth.
HTTP::Cookie
is a Ruby library to handle HTTP Cookies based on RFC 6265. It has been designed with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has built-in support for the legacy cookies.txt
and cookies.sqlite
formats of Mozilla Firefox.
TaskJuggler (tj3) is a project management tool for project planning and tracking using a domain specific language; projects are plain text files written using your favourite text editor. It includes reporting in HTML, CSV or iCalendar format and an email based status tracking system to send and receive time sheets from collaborators.
It covers the complete spectrum of project management tasks from the first idea to the completion of the project. It assists you during project scoping, resource assignment, cost and revenue planning, risk and communication management, status tracking and reporting.
Turbo aims to be as fast as single-page web application without having to write any JavaScript. Turbo accelerates links and form submissions without requiring server-side changes to the generated HTML. It allows carving up a page into independent frames, which can be lazy-loaded and operated as independent components. Finally, it helps making partial page updates using just HTML and a set of CRUD-like container tags. These three techniques reduce the amount of custom JavaScript that many web applications need to write by an order of magnitude. And for the few dynamic bits that are left, Stimulus can be used.
Gherkin-ruby is a Gherkin parser written in pure Ruby and less than 200 lines of code.
Babel JS source
Ruby FFI library
Rubytest CLI is a command-line interface for running tests for Rubytest-based test frameworks. It provides the rubytest
executable.
This package provides a RubyVersion
class which offers a convenient Domain Specific Language (DSL) for checking for the right Ruby version.
Simply builds and verifies OAuth headers
Helps creating valid Guard plugins and testing them