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¶ ↑
MakeMakefile
-
Module
used to generate a Makefile for C extensions RbConfig
-
Information of your configure and build of Ruby
- Gem
-
Package management framework for Ruby
Extensions¶ ↑
Coverage
-
Provides coverage measurement for Ruby
Monitor
-
Provides an object or module to use safely by more than one thread
- objspace
-
Extends
ObjectSpace
module to add methods for internal statistics PTY
-
Creates and manages pseudo terminals
Ripper
-
Provides an interface for parsing Ruby programs into S-expressions
Socket
-
Access underlying OS socket implementations
Default gems¶ ↑
-
default gems are shipped with Ruby releases and also available as rubygems.
-
default gems are not uninstallable from Ruby installation.
-
default gems can be updated used by rubygems.
* e.g. `gem update json`
-
default gems can be used with bundler environment like ‘unbundled_env`.
-
default gems can be used any version on Gemfile.
* e.g. `gem "json", ">= 2.6"`
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
Delegator
-
Provides three abilities to delegate method calls to an object
DidYouMean
-
“Did you mean?” experience in Ruby
English
-
Provides references to special global variables with less cryptic names
ERB
-
An easy to use but powerful templating system for Ruby
ErrorHighlight
-
Highlight error location in your code
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
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
Net::HTTP
-
HTTP client api for Ruby
Open3
-
Provides access to stdin, stdout and stderr when running other programs
OpenStruct
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
Prism
-
A portable, error-tolerant Ruby parser
PStore
-
Implements a file based persistence mechanism based on a
Hash
Readline
Reline
-
GNU
Readline
and Editline by pure Ruby implementation. Resolv
-
Thread-aware DNS resolver library in Ruby
RDoc
-
Produces HTML and command-line documentation for Ruby
SecureRandom
-
Interface for secure random number generator
Set
-
Provides a class to deal with collections of unordered, unique values
Shellwords
-
Manipulates strings with word parsing rules of UNIX Bourne shell
Singleton
-
Implementation of the
Singleton
pattern for Ruby Tempfile
-
A utility class for managing temporary files
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 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
YAML
WeakRef
-
Allows a referenced object to be garbage-collected
Extensions¶ ↑
Date
-
A subclass of
Object
includesComparable
module for handling dates DateTime
-
Subclass of
Date
to handling dates, hours, minutes, seconds, offsets 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
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
Pathname
-
Representation of the name of a file or directory on the filesystem
Psych
-
A
YAML
parser and emitter for Ruby StringIO
-
Pseudo I/O on
String
objects StringScanner
-
Provides lexical scanning operations on a
String
WIN32OLE
-
Provides an interface for OLE Automation in Ruby
Zlib
-
Ruby interface for the zlib compression/decompression library
Bundled gems¶ ↑
-
bundled gems are shipped with Ruby releases and also available as rubygems.
-
bundled gems are same as normal gems like ‘rails`, `rack`.
* They are only bundled with Ruby releases. * They can be uninstallable from Ruby installation. * They are needed to declare in Gemfile when use with bundler.
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”
- Net::FTP
-
Support for the
File
Transfer Protocol - 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
- Matrix
-
Represents a mathematical matrix.
- Prime
-
Prime numbers and factorization library
- RBS
-
RBS is a language to describe the structure of Ruby programs
- TypeProf
-
A type analysis tool for Ruby code based on abstract interpretation
- DEBUGGER__
-
Debugging functionality for Ruby
- Racc
-
A LALR(1) parser generator written in Ruby.
- Mutex_m
-
Mixin to extend objects to be handled like a Mutex
- GetoptLong
-
Parse command line options similar to the GNU C getopt_long()
- Base64
-
Support for encoding and decoding binary data using a Base64 representation
BigDecimal
-
Provides arbitrary-precision floating point decimal arithmetic
- Observable
-
Provides a mechanism for publish/subscribe pattern in Ruby
- Abbrev
-
Calculates a set of unique abbreviations for a given set of strings
- resolv-replace.rb
- Rinda
-
The Linda distributed computing paradigm in Ruby
- DRb
-
Distributed object system for Ruby
- NKF
-
Ruby extension for Network Kanji Filter
- Syslog
-
Ruby interface for the POSIX system logging facility
- CSV
-
Provides an interface to read and write CSV files and data