1= Ruby Standard Library 2 3The Ruby Standard Library is a vast collection of classes and modules that you 4can require in your code for additional features. 5 6Below is an overview of libraries and extensions followed by a brief 7description. 8 9== Libraries 10 11Abbrev:: Calculates a set of unique abbreviations for a given set of strings 12Base64:: Support for encoding and decoding binary data using a Base64 representation 13Benchmark:: Provides methods to measure and report the time used to execute code 14CGI:: Support for the Common Gateway Interface protocol 15CMath:: Provides Trigonometric and Transcendental functions for complex numbers 16complex.rb:: Deprecated library replaced by C implementation in core 17ConditionVariable:: Augments the Mutex class, provided by thread.rb 18CSV:: Provides an interface to read and write CSV files and data 19DEBUGGER__:: Debugging functionality for Ruby 20Delegator:: Provides three abilities to delegate method calls to an object 21DRb:: Distributed object system for Ruby 22E2MM:: Module for defining custom exceptions with specific messages 23English.rb:: Require 'English.rb' to reference global variables with less cryptic names 24ERB:: An easy to use but powerful templating system for Ruby 25FileUtils:: Several file utility methods for copying, moving, removing, etc 26Find:: This module supports top-down traversal of a set of file paths 27Forwardable:: Provides delegation of specified methods to a designated object 28GetoptLong:: Parse command line options similar to the GNU C getopt_long() 29GServer:: HTTP server with logging, thread pooling and multi-server management 30IPAddr:: Provides methods to manipulate IPv4 and IPv6 IP addresses 31IRB:: Interactive Ruby command-line tool for REPL (Read Eval Print Loop) 32Logger:: Provides a simple logging utility for outputing messages 33mathn.rb:: Deprecated library that extends math operations 34MakeMakefile:: Module used to generate a Makefile for C extensions 35Matrix:: Represents a mathematical matrix. 36MiniTest:: A test suite with TDD, BDD, mocking and benchmarking 37Monitor:: Provides an object or module to use safely by more than one thread 38Mutex_m:: Mixin to extend objects to be handled like a Mutex 39Net::FTP:: Support for the File Transfer Protocol 40Net::HTTP:: HTTP client api for Ruby 41Net::IMAP:: Ruby client api for Internet Message Access Protocol 42Net::POP3:: Ruby client library for POP3 43Net::SMTP:: Simple Mail Transfer Protocol client library for Ruby 44Net::Telnet:: Telnet client library for Ruby 45Observable:: Provides a mechanism for publich/subscribe pattern in Ruby 46OpenURI:: An easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP 47Open3:: Provides access to stdin, stdout and stderr when running other programs 48OptionParser:: Ruby-oriented class for command-line option analysis 49OpenStruct:: Class to build custom data structures, similar to a Hash 50PP:: Provides a PrettyPrinter for Ruby objects 51PrettyPrinter:: Implements a pretty printing algorithm for readable structure 52Prime:: Prime numbers and factorization library 53profile.rb:: Runs the Ruby Profiler__ 54Profiler__:: Provides a way to profile your Ruby application 55PStore:: Implements a file based persistence mechanism based on a Hash 56Queue:: Synchronized communication between threads, provided by thread.rb 57Racc:: A LALR(1) parser generator written in Ruby. 58Rake:: Ruby build program with capabilities similar to make 59rational.rb:: Deprecated library replaced by C implementation in core 60RbConfig:: Information of your configure and build of Ruby 61RDoc:: Produces HTML and command-line documentation for Ruby 62resolv-replace.rb:: Replace Socket DNS with Resolv 63Resolv:: Thread-aware DNS resolver library in Ruby 64REXML:: An XML toolkit for Ruby 65Rinda:: The Linda distributed computing paradigm in Ruby 66RSS:: Family of libraries that support various formats of XML "feeds" 67Gem:: Package management framework for Ruby 68Scanf:: A Ruby implementation of the C function scanf(3) 69SecureRandom:: Interface for secure random number generator 70Set:: Provides a class to deal with collections of unordered, unique values 71Shell:: An idiomatic Ruby interface for common UNIX shell commands 72Shellwords:: Manipulates strings with word parsing rules of UNIX Bourne shell 73Singleton:: Implementation of the Singleton pattern for Ruby 74Synchronizer:: A module that provides a two-phase lock with a counter 75Tempfile:: A utility class for managing temporary files 76Test::Unit:: A compatibility layer for MiniTest 77Thread:: Provides support classes for threaded programs 78ThreadsWait:: Watches for termination of multiple threads 79Time:: Extends the Time class with methods for parsing and conversion 80Timeout:: Auto-terminate potentially long-running operations in Ruby 81tmpdir.rb:: Extends the Dir class to manage the OS temporary file path 82Tracer:: Outputs a source level execution trace of a Ruby program 83TSort:: Topological sorting using Tarjan's algorithm 84un.rb:: Utilities to replace common UNIX commands 85URI:: A Ruby module providing support for Uniform Resource Identifiers 86WeakRef:: Allows a referenced object to be garbage-collected 87WEBrick:: An HTTP server toolkit for Ruby 88XMLRPC:: Remote Procedure Call over HTTP support for Ruby 89YAML:: Ruby client library for the Psych YAML implementation 90 91== Extensions 92 93BigDecimal:: Provides arbitrary-precision floating point decimal arithmetic 94Coverage:: Provides coverage measurement for Ruby 95Curses:: Implements the CRT screen handling and optimization library 96Date:: A subclass of Object includes Comparable module for handling dates 97DateTime:: Subclass of Date to handling dates, hours, minutes, seconds, offsets 98DBM:: Provides a wrapper for the UNIX-style Database Manager Library 99Digest:: Provides a framework for message digest libraries 100DL:: Provides a wrapper for the UNIX dlopen() library 101Etc:: Provides access to information typically stored in UNIX /etc directory 102Fcntl:: Loads constants defined in the OS fcntl.h C header file 103Fiddle:: A libffi wrapper for Ruby 104GDBM:: Ruby extension for the GNU dbm (gdbm) library 105IO:: Extensions for Ruby IO class, including #wait and ::console 106JSON:: Implements Javascript Object Notation for Ruby 107NKF:: Ruby extension for Network Kanji Filter 108objspace:: Extends ObjectSpace module to add methods for internal statistics 109OpenSSL:: Provides SSL, TSL and general purpose cryptography for Ruby 110Pathname:: Representation of the name of a file or directory on the filesystem 111Psych:: A YAML parser and emitter for Ruby 112PTY:: Creates and manages pseudo terminals 113Readline:: Provides an interface for GNU Readline and Edit Line (libedit) 114Ripper:: Provides an interface for parsing Ruby programs into S-expressions 115SBDM:: Provides a simple file-based key-value store with String keys and values 116Socket:: Access underlying OS socket implementations 117StringIO:: Pseudo I/O on String objects 118StringScanner:: Provides lexical scanning operations on a String 119Syslog:: Ruby interface for the POSIX system logging facility 120Tk:: Provides a framework for building a Graphical User Interface (GUI) 121WIN32OLE:: Provides an interface for OLE Automation in Ruby 122Zlib:: Ruby interface for the zlib compression/decompression library 123 124 125 126 127