Ruby Standard Library

The Ruby Standard Library is a vast collection of classes and modules that you can require in your code for additional features.

Below is an overview of libraries and extensions followed by a brief description.

Libraries

MakeMakefile

Module used to generate a Makefile for C extensions

RbConfig

Information of your configure and build of Ruby

Gem

Package management framework for Ruby

Extensions

Coverage

Provides coverage measurement for Ruby

Monitor

Provides an object or module to use safely by more than one thread

objspace

Extends ObjectSpace module to add methods for internal statistics

PTY

Creates and manages pseudo terminals

Ripper

Provides an interface for parsing Ruby programs into S-expressions

Socket

Access underlying OS socket implementations

Default gems

Libraries

Benchmark

Provides methods to measure and report the time used to execute code

Bundler

Manage your Ruby application’s gem dependencies

CGI

Support for the Common Gateway Interface protocol

Delegator

Provides three abilities to delegate method calls to an object

DidYouMean

“Did you mean?” experience in Ruby

English

Provides references to special global variables with less cryptic names

ERB

An easy to use but powerful templating system for Ruby

ErrorHighlight

Highlight error location in your code

FileUtils

Several file utility methods for copying, moving, removing, etc

Find

This module supports top-down traversal of a set of file paths

Forwardable

Provides delegation of specified methods to a designated object

IPAddr

Provides methods to manipulate IPv4 and IPv6 IP addresses

IRB

Interactive Ruby command-line tool for REPL (Read Eval Print Loop)

OptionParser

Ruby-oriented class for command-line option analysis

Logger

Provides a simple logging utility for outputting messages

Net::HTTP

HTTP client api for Ruby

Open3

Provides access to stdin, stdout and stderr when running other programs

OpenStruct

Class to build custom data structures, similar to a Hash

OpenURI

An easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP

PP

Provides a PrettyPrinter for Ruby objects

PrettyPrinter

Implements a pretty printing algorithm for readable structure

Prism

A portable, error-tolerant Ruby parser

PStore

Implements a file based persistence mechanism based on a Hash

Readline

Wrapper for Readline extencion and Reline

Reline

GNU Readline and Editline by pure Ruby implementation.

Resolv

Thread-aware DNS resolver library in Ruby

RDoc

Produces HTML and command-line documentation for Ruby

SecureRandom

Interface for secure random number generator

Set

Provides a class to deal with collections of unordered, unique values

Shellwords

Manipulates strings with word parsing rules of UNIX Bourne shell

Singleton

Implementation of the Singleton pattern for Ruby

Tempfile

A utility class for managing temporary files

Time

Extends the Time class with methods for parsing and conversion

Timeout

Auto-terminate potentially long-running operations in Ruby

tmpdir.rb

Extends the Dir class to manage the OS temporary file path

TSort

Topological sorting using Tarjan’s algorithm

un.rb

Utilities to replace common UNIX commands

URI

A Ruby module providing support for Uniform Resource Identifiers

YAML

Ruby client library for the Psych YAML implementation

WeakRef

Allows a referenced object to be garbage-collected

Extensions

Date

A subclass of Object includes Comparable module for handling dates

DateTime

Subclass of Date to handling dates, hours, minutes, seconds, offsets

Digest

Provides a framework for message digest libraries

Etc

Provides access to information typically stored in UNIX /etc directory

Fcntl

Loads constants defined in the OS fcntl.h C header file

Fiddle

A libffi wrapper for Ruby

IO

Extensions for Ruby IO class, including wait, nonblock and ::console

JSON

Implements Javascript Object Notation for Ruby

OpenSSL

Provides SSL, TLS and general purpose cryptography for Ruby

Pathname

Representation of the name of a file or directory on the filesystem

Psych

A YAML parser and emitter for Ruby

StringIO

Pseudo I/O on String objects

StringScanner

Provides lexical scanning operations on a String

WIN32OLE

Provides an interface for OLE Automation in Ruby

Zlib

Ruby interface for the zlib compression/decompression library

Bundled gems

Libraries

MiniTest

A test suite with TDD, BDD, mocking and benchmarking

PowerAssert

Power Assert for Ruby.

Rake

Ruby build program with capabilities similar to make

Test::Unit

A compatibility layer for MiniTest

REXML

An XML toolkit for Ruby

RSS

Family of libraries that support various formats of XML “feeds”

Net::FTP

Support for the File Transfer Protocol

Net::IMAP

Ruby client api for Internet Message Access Protocol

Net::POP3

Ruby client library for POP3

Net::SMTP

Simple Mail Transfer Protocol client library for Ruby

Matrix

Represents a mathematical matrix.

Prime

Prime numbers and factorization library

RBS

RBS is a language to describe the structure of Ruby programs

TypeProf

A type analysis tool for Ruby code based on abstract interpretation

DEBUGGER__

Debugging functionality for Ruby

Racc

A LALR(1) parser generator written in Ruby.

Mutex_m

Mixin to extend objects to be handled like a Mutex

GetoptLong

Parse command line options similar to the GNU C getopt_long()

Base64

Support for encoding and decoding binary data using a Base64 representation

BigDecimal

Provides arbitrary-precision floating point decimal arithmetic

Observable

Provides a mechanism for publish/subscribe pattern in Ruby

Abbrev

Calculates a set of unique abbreviations for a given set of strings

resolv-replace.rb

Replace Socket DNS with Resolv

Rinda

The Linda distributed computing paradigm in Ruby

DRb

Distributed object system for Ruby

NKF

Ruby extension for Network Kanji Filter

Syslog

Ruby interface for the POSIX system logging facility

CSV

Provides an interface to read and write CSV files and data