summaryrefslogtreecommitdiff
path: root/doc/standard_library.rdoc
blob: 2ec088ca86353bf40ac3ffb30bd69bb34cd59a46 (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
= 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
DEBUGGER__:: Debugging functionality for Ruby
DRb:: Distributed object system for Ruby
ERB:: An easy to use but powerful templating system for Ruby
MakeMakefile:: Module used to generate a Makefile for C extensions
OpenURI:: An easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP
PP:: Provides a PrettyPrinter for Ruby objects
PrettyPrinter:: Implements a pretty printing algorithm for readable structure
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
Gem:: Package management framework for Ruby
SecureRandom:: Interface for secure random number generator
Shellwords:: Manipulates strings with word parsing rules of UNIX Bourne shell
Time:: Extends the Time class with methods for parsing and conversion
TSort:: Topological sorting using Tarjan's algorithm
un.rb:: Utilities to replace common UNIX commands

== Extensions

Coverage:: Provides coverage measurement for Ruby
Digest:: Provides a framework for message digest libraries
Monitor:: Provides an object or module to use safely by more than one thread
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
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

Benchmark:: Provides methods to measure and report the time used to execute code
Bundler:: Manage your Ruby application's gem dependencies
CGI:: Support for the Common Gateway Interface protocol
CSV:: Provides an interface to read and write CSV files and data
Delegator:: Provides three abilities to delegate method calls to an object
DidYouMean:: "Did you mean?" experience in Ruby
English.rb:: Require 'English.rb' to reference global variables with less cryptic names
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)
OptionParser:: Ruby-oriented class for command-line option analysis
Logger:: Provides a simple logging utility for outputting messages
Matrix:: Represents a mathematical matrix.
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
Open3:: Provides access to stdin, stdout and stderr when running other programs
OpenStruct:: Class to build custom data structures, similar to a Hash
Prime:: Prime numbers and factorization library
PStore:: Implements a file based persistence mechanism based on a Hash
Racc:: A LALR(1) parser generator written in Ruby.
RDoc:: Produces HTML and command-line documentation for Ruby
Rinda:: The Linda distributed computing paradigm in Ruby
Set:: Provides a class to deal with collections of unordered, unique values
Singleton:: Implementation of the Singleton pattern for Ruby
Tempfile:: A utility class for managing temporary files
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
URI:: A Ruby module providing support for Uniform Resource Identifiers
WEBrick:: An HTTP server toolkit for Ruby
YAML:: Ruby client library for the Psych YAML implementation
WeakRef:: Allows a referenced object to be garbage-collected

== 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:: Extensions for Ruby IO class, including #wait, #nonblock and ::console
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
Readline:: Provides an interface for GNU Readline and Edit Line (libedit)
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

MiniTest:: A test suite with TDD, BDD, mocking and benchmarking
PowerAssert:: Power Assert for Ruby.
Rake:: Ruby build program with capabilities similar to make
Test::Unit:: A compatibility layer for MiniTest
REXML:: An XML toolkit for Ruby
RSS:: Family of libraries that support various formats of XML "feeds"