summaryrefslogtreecommitdiff
path: root/doc/standard_library.rdoc
blob: ff6f6238d8ae76ea159a29a9a1cf1e7a2770b21a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
= 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
ConditionVariable:: Augments the Mutex class
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
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
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
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
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
YAML:: Ruby client library for the Psych YAML implementation

== Extensions

Coverage:: Provides coverage measurement for Ruby
Digest:: Provides a framework for message digest libraries
IO:: Extensions for Ruby IO class, including #wait and ::console
NKF:: Ruby extension for Network Kanji Filter
objspace:: Extends ObjectSpace module to add methods for internal statistics
Pathname:: Representation of the name of a file or directory on the filesystem
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
Socket:: Access underlying OS socket implementations
Syslog:: Ruby interface for the POSIX system logging facility
WIN32OLE:: Provides an interface for OLE Automation in Ruby

= Default gems

== Libraries

Bundler:: Manage your Ruby application's gem dependencies
CMath:: Provides Trigonometric and Transcendental functions for complex numbers
CSV:: Provides an interface to read and write CSV files and data
FileUtils:: Several file utility methods for copying, moving, removing, etc
RDoc:: Produces HTML and command-line documentation for Ruby
Scanf:: A Ruby implementation of the C function scanf(3)
WEBrick:: An HTTP server toolkit for Ruby

== Extensions

BigDecimal:: Provides arbitrary-precision floating point decimal arithmetic
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
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::console:: Console interface
JSON:: Implements Javascript Object Notation for Ruby
OpenSSL:: Provides SSL, TLS and general purpose cryptography for Ruby
Psych:: A YAML parser and emitter for Ruby
SDBM:: Provides a simple file-based key-value store with String keys and values
StringIO:: Pseudo I/O on String objects
StringScanner:: Provides lexical scanning operations on a String
Zlib:: Ruby interface for the zlib compression/decompression library

= Bundled gems

== Libraries

DidYouMean:: "Did you mean?" experience in Ruby
MiniTest:: A test suite with TDD, BDD, mocking and benchmarking
Net::Telnet:: Telnet client library for Ruby
PowerAssert:: Power Assert for Ruby.
Rake:: Ruby build program with capabilities similar to make
Test::Unit:: A compatibility layer for MiniTest
XMLRPC:: Remote Procedure Call over HTTP support for Ruby