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 
- ConditionVariable
- 
Augments the Mutex class 
- 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() 
- 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 outputting messages 
- mathn.rb
- 
Deprecated library that extends math operations 
- MakeMakefile
- 
Module used to generate a Makefile for C extensions 
- Matrix
- 
Represents a mathematical matrix. 
- 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 
- Observable
- 
Provides a mechanism for publish/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 
- Racc
- 
A LALR(1) parser generator written in Ruby. 
- 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 
- 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 
- 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 
- 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, 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 
- 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 
- SDBM
- 
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 
- WIN32OLE
- 
Provides an interface for OLE Automation in Ruby 
- Zlib
- 
Ruby interface for the zlib compression/decompression library