Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

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

Abbrev

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

Base64

Support for encoding and decoding binary data using a Base64 representation

Benchmark

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

CGI

Support for the Common Gateway Interface protocol

CMath

Provides Trigonometric and Transcendental functions for complex numbers

complex.rb

Deprecated library replaced by C implementation in core

ConditionVariable

Augments the Mutex class, provided by thread.rb

CSV

Provides an interface to read and write CSV files and data

DEBUGGER__

Debugging functionality for Ruby

Delegator

Provides three abilities to delegate method calls to an object

DRb

Distributed object system for Ruby

E2MM

Module for defining custom exceptions with specific messages

English.rb

Require 'English.rb' to reference global variables with less cryptic names

ERB

An easy to use but powerful templating system for Ruby

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

GetoptLong

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

GServer

HTTP server with logging, thread pooling and multi-server management

IPAddr

Provides methods to manipulate IPv4 and IPv6 IP addresses

IRB

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

Logger

Provides a simple logging utility for outputing messages

mathn.rb

Deprecated library that extends math operations

MakeMakefile

Module used to generate a Makefile for C extensions

Matrix

Represents a mathematical matrix.

MiniTest

A test suite with TDD, BDD, mocking and benchmarking

Monitor

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

Mutex_m

Mixin to extend objects to be handled like a Mutex

Net::FTP

Support for the File Transfer Protocol

Net::HTTP

HTTP client api for Ruby

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

Net::Telnet

Telnet client library for Ruby

Observable

Provides a mechanism for publich/subscribe pattern in Ruby

OpenURI

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

Open3

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

OptionParser

Ruby-oriented class for command-line option analysis

OpenStruct

Class to build custom data structures, similar to a Hash

PP

Provides a PrettyPrinter for Ruby objects

PrettyPrinter

Implements a pretty printing algorithm for readable structure

Prime

Prime numbers and factorization library

profile.rb

Runs the Ruby Profiler__

Profiler__

Provides a way to profile your Ruby application

PStore

Implements a file based persistence mechanism based on a Hash

Queue

Synchronized communication between threads, provided by thread.rb

Racc

A LALR(1) parser generator written in Ruby.

Rake

Ruby build program with capabilities similar to make

rational.rb

Deprecated library replaced by C implementation in core

RbConfig

Information of your configure and build of Ruby

RDoc

Produces HTML and command-line documentation for Ruby

resolv-replace.rb

Replace Socket DNS with Resolv

Resolv

Thread-aware DNS resolver library in Ruby

REXML

An XML toolkit for Ruby

Rinda

The Linda distributed computing paradigm in Ruby

RSS

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

Gem

Package management framework for Ruby

Scanf

A Ruby implementation of the C function scanf(3)

SecureRandom

Interface for secure random number generator

Set

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

Shell

An idiomatic Ruby interface for common UNIX shell commands

Shellwords

Manipulates strings with word parsing rules of UNIX Bourne shell

Singleton

Implementation of the Singleton pattern for Ruby

Synchronizer

A module that provides a two-phase lock with a counter

Tempfile

A utility class for managing temporary files

Test::Unit

A compatibility layer for MiniTest

Thread

Provides support classes for threaded programs

ThreadsWait

Watches for termination of multiple threads

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

Tracer

Outputs a source level execution trace of a Ruby program

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

WeakRef

Allows a referenced object to be garbage-collected

WEBrick

An HTTP server toolkit for Ruby

XMLRPC

Remote Procedure Call over HTTP support for Ruby

YAML

Ruby client library for the Psych YAML implementation

Extensions

BigDecimal

Provides arbitrary-precision floating point decimal arithmetic

Coverage

Provides coverage measurement for Ruby

Curses

Implements the CRT screen handling and optimization library

Date

A subclass of Object includes Comparable module for handling dates

DateTime

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

DBM

Provides a wrapper for the UNIX-style Database Manager Library

Digest

Provides a framework for message digest libraries

DL

Provides a wrapper for the UNIX dlopen() library

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

GDBM

Ruby extension for the GNU dbm (gdbm) library

IO

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

JSON

Implements Javascript Object Notation for Ruby

NKF

Ruby extension for Network Kanji Filter

objspace

Extends ObjectSpace module to add methods for internal statistics

OpenSSL

Provides SSL, TSL 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

PTY

Creates and manages pseudo terminals

Readline

Provides an interface for GNU Readline and Edit Line (libedit)

Ripper

Provides an interface for parsing Ruby programs into S-expressions

SBDM

Provides a simple file-based key-value store with String keys and values

Socket

Access underlying OS socket implementations

StringIO

Pseudo I/O on String objects

StringScanner

Provides lexical scanning operations on a String

Syslog

Ruby interface for the POSIX system logging facility

Tk

Provides a framework for building a Graphical User Interface (GUI)

WIN32OLE

Provides an interface for OLE Automation in Ruby

Zlib

Ruby interface for the zlib compression/decompression library