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