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
- 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, 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